Function at 0x43f7c8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x50], ebx
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x90]
push ecx
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00426e8c
mov eax, dword [ebp + 0x14]
call fcn.00427bbc
lea eax, [ebp - 0x15c]
mov edx, dword [0x439308]
call fcn.004272bc
xor eax, eax
push ebp
push 0x43fc9f
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.0043a590
xor edx, edx
push ebp
push 0x43fc46
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x42
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x432c9c]
call fcn.00434ebc
mov dword [ebp - 0x44], eax
push 0x40
lea eax, [ebp - 0x50]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov edx, dword [ebp - 0x50]
mov ecx, 0x40
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x50]
call fcn.00439854
mov esi, eax
test esi, esi
je 0x43f8ae
mov eax, dword [ebp - 0x44]
mov edx, dword [eax]
call dword [edx]
push edx
push eax
mov eax, esi
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x43f8aa
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x43f8b8
jmp 0x43f8ae
pop edx
pop eax
jle 0x43f8b8
call fcn.00426484
jmp 0x43fc4f
xor ecx, ecx
mov edx, esi
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
call dword [esi + 0x14]
mov eax, dword [0x467fb0]
push eax
lea eax, [ebp - 0x50]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov edx, dword [ebp - 0x50]
mov ecx, dword [0x467fb0]
mov eax, dword [ebp - 0x44]
mov esi, dword [eax]
call dword [esi + 0xc]
lea edx, [ebp - 0x15c]
lea eax, [ebp - 0x50]
call fcn.004399ac
test al, al
jne 0x43f90d
call fcn.00426484
jmp 0x43fc4f
push 0
lea eax, [ebp - 0x50]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov eax, dword [ebp - 0x80]
add eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x61], 1
movzx eax, word [ebp - 0x130]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
dec eax
test eax, eax
jl 0x43fc30
inc eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x60]
sub eax, 2
cmp eax, dword [ebp - 0x10]
jle 0x43f986
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
mov edx, dword [edx + eax*8 + 0x34]
mov ecx, dword [ebp - 0x94]
sub edx, dword [ecx + eax*8 + 0xc]
mov dword [ebp - 0x5c], edx
jmp 0x43f999
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + eax*8 + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
mov edx, dword [edx + eax*8 + 0xc]
cmp edx, dword [ebp - 8]
ja 0x43f9d1
mov edx, dword [ebp - 0x10]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + edx*8 + 0xc]
mov ecx, dword [ebp - 0x94]
add edx, dword [ecx + eax*8 + 0x10]
cmp edx, dword [ebp - 8]
jbe 0x43f9d1
mov byte [ebp - 0x61], 1
cmp byte [ebp - 0x61], 0
je 0x43fa2f
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
cmp dword [edx + eax*8 + 0x24], 0xc0000040
je 0x43fa2f
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
cmp dword [edx + eax*8 + 0x24], 0x40000040
je 0x43fa2f
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
cmp dword [edx + eax*8 + 0x24], 0x42000040
je 0x43fa2f
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
cmp dword [edx + eax*8 + 0x24], 0x50000040
jne 0x43fa38
mov byte [ebp - 0x61], 0
jmp 0x43fc24
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + eax*8 + 0x14]
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x5c]
push eax
lea eax, [ebp - 0x50]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
call dword [ebx + 0xc]
xor eax, eax
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x18]
jae 0x43fbe4
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x20]
mov bl, byte [edx + ecx]
inc dword [ebp - 0x20]
inc dword [ebp - 0x14]
cmp al, 0xff
jne 0x43fabe
cmp bl, 0x15
je 0x43fb19
cmp bl, 0x25
je 0x43fb19
cmp bl, 0x35
je 0x43fb19
cmp al, 0x8b
jne 0x43fae5
cmp bl, 0xd
je 0x43fb19
cmp bl, 0x15
je 0x43fb19
cmp bl, 0x1d
je 0x43fb19
cmp bl, 0x25
je 0x43fb19
cmp bl, 0x2d
je 0x43fb19
cmp bl, 0x35
je 0x43fb19
cmp bl, 0x3d
je 0x43fb19
cmp bl, 0xa1
je 0x43fb19
cmp al, 0x3b
jne 0x43fbd6
cmp bl, 5
je 0x43fb19
cmp bl, 0xd
je 0x43fb19
cmp bl, 0x15
je 0x43fb19
cmp bl, 0x1d
je 0x43fb19
cmp bl, 0x25
je 0x43fb19
cmp bl, 0x35
je 0x43fb19
cmp bl, 0x3d
jne 0x43fbd6
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp - 0x20]
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x50]
mov ecx, edi
call fcn.004397dc
mov eax, dword [ebp - 0x28]
add eax, dword [ebp + 8]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x2c]
jb 0x43fbd6
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x30]
jae 0x43fbd6
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
call fcn.0042789c
dec eax
test eax, eax
jl 0x43fbd6
inc eax
xor esi, esi
lea edx, [esi + esi*8]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
mov edx, dword [ecx + edx*4 + 0x18]
cmp edx, dword [ebp - 0x28]
jne 0x43fbd2
lea eax, [esi + esi*8]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
cmp dword [edx + eax*4 + 0x20], 0xffffffff
je 0x43fba5
lea eax, [esi + esi*8]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x20]
lea eax, [eax + eax*8]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x1c]
mov dword [ebp - 0x28], eax
jmp 0x43fbb4
lea eax, [esi + esi*8]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x1c]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x50]
mov ecx, edi
mov edx, dword [ebp - 0x28]
call fcn.0043a6a0
mov eax, dword [ebp - 0x1c]
add eax, 3
mov dword [ebp - 0x14], eax
add edi, 3
mov dword [ebp - 0x20], edi
jmp 0x43fbd6
inc esi
dec eax
jne 0x43fb68
mov eax, ebx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x18]
jb 0x43fa9c
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x94]
mov edx, dword [edx + eax*8 + 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
mov ebx, dword [eax]
call dword [ebx + 0x10]
push 0
lea eax, [ebp - 0x50]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
inc dword [ebp - 0x10]
dec dword [ebp - 0x68]
jne 0x43f95c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43fc4d
mov eax, dword [ebp - 0x44]
call fcn.00425ec4
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43fca6
lea eax, [ebp - 0x15c]
mov edx, dword [0x439308]
call fcn.00427380
lea eax, [ebp - 0x50]
mov edx, dword [0x439224]
call fcn.00427b58
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.00426a24
lea eax, [ebp - 4]
call fcn.00426a00
lea eax, [ebp + 0x14]
mov edx, dword [0x439448]
call fcn.00427b58
ret