Function at 0x50fe70
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56ddfb
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
mov eax, dword [0x5cf024]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x4c]
xor cl, cl
cmp eax, 0xffffffff
je 0x5103c3
cmp eax, 0x7c
je 0x5103c3
cmp eax, 0x29
jne 0x50fecc
cmp dword [esi + 0x10], 0
jne 0x5103c3
test dword [esi + 0x50], 0x10000000
je 0x5103e4
cmp eax, 0x2e
jne 0x50ff3a
push 0x14
call fcn.0051db0e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov dword [ecx], 0x594420
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x50ff2f
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
jmp 0x51035b
cmp eax, 0x5c
jne 0x5100e0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x50ff8f
cmp word [eax], 0x5c
jne 0x50ff8c
add eax, 2
cmp eax, ecx
je 0x50ff84
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x50ff6e
movzx edx, word [eax]
cmp edx, 0x28
je 0x50ff80
cmp edx, 0x29
je 0x50ff80
test cl, 0x10
jne 0x50ff84
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x50ff80
cmp ecx, 0x7d
jne 0x50ff84
mov cl, 1
jmp 0x50ff86
xor cl, cl
test cl, cl
je 0x50ff8c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x51005a
cmp word [esi + 0x48], 0x62
jne 0x51005a
push 0x14
call fcn.0051db0e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
mov dword [ecx], 0x594420
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x51000d
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5102fa
cmp word [eax], 0x5c
jne 0x5102f7
add eax, 2
cmp eax, ecx
je 0x5102ef
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x510052
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x5102eb
cmp ecx, 0x29
je 0x5102eb
test dl, 0x10
jmp 0x5102dc
test eax, eax
je 0x5100d4
cmp word [esi + 0x48], 0x42
jne 0x5100d4
push 0x14
call fcn.0051db0e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
mov dword [ecx], 0x594420
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5100c3
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x510013
mov ecx, esi
call fcn.00511800
jmp 0x5103ae
cmp eax, 0x5b
jne 0x51014e
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x510131
cmp word [eax], 0x5c
jne 0x51012e
add eax, 2
cmp eax, ecx
je 0x510126
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x510110
movzx edx, word [eax]
cmp edx, 0x28
je 0x510122
cmp edx, 0x29
je 0x510122
test cl, 0x10
jne 0x510126
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x510122
cmp ecx, 0x7d
jne 0x510126
mov cl, 1
jmp 0x510128
xor cl, cl
test cl, cl
je 0x51012e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
mov ecx, esi
call fcn.00511720
cmp dword [esi + 0x4c], 0x5d
jne 0x5103dd
jmp 0x51035b
cmp eax, 0x28
jne 0x51021d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5101a3
cmp word [eax], 0x5c
jne 0x5101a0
add eax, 2
cmp eax, ecx
je 0x510198
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x510182
movzx edx, word [eax]
cmp edx, 0x28
je 0x510194
cmp edx, 0x29
je 0x510194
test cl, 0x10
jne 0x510198
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x510194
cmp ecx, 0x7d
jne 0x510198
mov cl, 1
jmp 0x51019a
xor cl, cl
test cl, cl
je 0x5101a0
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
mov ecx, esi
call fcn.00511990
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x5103e4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x510209
cmp word [eax], 0x5c
jne 0x510206
add eax, 2
cmp eax, ecx
je 0x5101fe
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5101e8
movzx edx, word [eax]
cmp edx, 0x28
je 0x5101fa
cmp edx, 0x29
je 0x5101fa
test cl, 0x10
jne 0x5101fe
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5101fa
cmp ecx, 0x7d
jne 0x5101fe
mov cl, 1
jmp 0x510200
xor cl, cl
test cl, cl
je 0x510206
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
test bl, bl
je 0x5103b5
jmp 0x5103ae
cmp eax, 0x5e
jne 0x510241
push 0x14
call fcn.0051db0e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 3
mov dword [ecx + 4], 2
jmp 0x510267
cmp eax, 0x24
jne 0x510306
push 0x14
call fcn.0051db0e
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 4
mov dword [ecx + 4], 3
mov dword [ecx], 0x594420
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5102a8
mov dword [ecx + 0xc], edx
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x5102fa
cmp word [eax], 0x5c
jne 0x5102f7
add eax, 2
cmp eax, ecx
je 0x5102ef
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5102d9
movzx edx, word [eax]
cmp edx, 0x28
je 0x5102eb
cmp edx, 0x29
je 0x5102eb
test cl, 0x10
jne 0x5102ef
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5102eb
cmp ecx, 0x7d
jne 0x5102ef
mov cl, 1
jmp 0x5102f1
xor cl, cl
test cl, cl
je 0x5102f7
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
jmp 0x5103b5
cmp eax, 0x2a
je 0x5103d6
cmp eax, 0x2b
je 0x5103d6
cmp eax, 0x3f
je 0x5103d6
cmp eax, 0x7b
je 0x5103d6
cmp eax, 0x7d
jne 0x51033c
test dword [esi + 0x50], 0x10000000
je 0x5103eb
cmp eax, 0x5d
jne 0x51034e
test dword [esi + 0x50], 0x10000000
je 0x5103dd
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00511d50
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x5103a7
cmp word [eax], 0x5c
jne 0x5103a4
add eax, 2
cmp eax, ecx
je 0x51039c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x510386
movzx edx, word [eax]
cmp edx, 0x28
je 0x510398
cmp edx, 0x29
je 0x510398
test cl, 0x10
jne 0x51039c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x510398
cmp ecx, 0x7d
jne 0x51039c
mov cl, 1
jmp 0x51039e
xor cl, cl
test cl, cl
je 0x5103a4
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e7f0
mov ecx, esi
call fcn.00511b10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x50fea7
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0050e7e0
push 4
call fcn.0050e7e0
push 5
call fcn.0050e7e0
push 6
call fcn.0050e7e0
int3