Function at 0x43b1d8
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], ebx
mov esi, ecx
lea edi, [ebp - 0x148]
mov ecx, 0x33
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x148]
mov edx, dword [0x439308]
call fcn.004274c4
mov eax, dword [ebp + 0x18]
call fcn.00427bbc
xor eax, eax
push ebp
push 0x43b85a
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov dword [ebp - 0x50], 0xffffffff
xor eax, eax
mov dword [ebp - 0x4c], eax
cmp word [ebp - 0x11c], 0
je 0x43b7f0
movzx eax, word [ebp - 0x11c]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 - 0x1c]
movzx edx, word [ebp - 0x11c]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x80]
add eax, dword [ecx + edx*8 - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
add eax, edi
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x14], eax
push 0
mov eax, dword [ebp + 0x10]
mov ecx, 1
mov edx, dword [0x43927c]
call fcn.00427a58
add esp, 4
movzx eax, word [ebp - 0x11c]
push eax
lea eax, [ebp - 0x6c]
mov ecx, 1
mov edx, dword [0x43924c]
call fcn.00427a58
add esp, 4
movzx eax, word [ebp - 0x11c]
push eax
lea eax, [ebp - 0x70]
mov ecx, 1
mov edx, dword [0x43b1b4]
call fcn.00427a58
add esp, 4
mov byte [ebp - 0x66], 1
movzx eax, word [0x46990c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
dec eax
test eax, eax
jl 0x43b7c3
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x20]
sub eax, 2
cmp eax, dword [ebp - 0x10]
jle 0x43b327
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov ebx, dword [edx + eax*8 + 0x34]
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
sub ebx, dword [edx + eax*8 + 0xc]
jmp 0x43b334
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov ebx, dword [edx + eax*8 + 0x10]
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0xc]
add eax, edi
cmp eax, dword [ebp - 8]
ja 0x43b394
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0xc]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, edi
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebp - 8]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x43b38c
cmp eax, dword [esp]
pop edx
pop eax
jae 0x43b394
jmp 0x43b390
pop edx
pop eax
jge 0x43b394
mov byte [ebp - 0x66], 1
cmp byte [ebp - 0x66], 0
je 0x43b7c3
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
cmp dword [edx + eax*8 + 0x24], 0xc0000040
je 0x43b7c3
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
cmp dword [edx + eax*8 + 0x24], 0x40000040
je 0x43b7c3
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
cmp dword [edx + eax*8 + 0x24], 0x42000040
je 0x43b7c3
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
cmp dword [edx + eax*8 + 0x24], 0x50000040
je 0x43b7c3
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0x14]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
add eax, ebx
mov dword [ebp - 0x34], eax
push ebx
lea eax, [ebp - 0x60]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0xc]
add eax, edi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x10]
cmp dword [eax + edx*4], 0
jne 0x43b487
push ebx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x10]
lea eax, [eax + edx*4]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x10]
mov dword [eax + edx*4], ebx
push ebx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x10]
lea edx, [eax + edx*4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.00439684
mov byte [ebp - 0x65], 0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jae 0x43b7b7
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x38]
mov bl, byte [eax + edx]
inc dword [ebp - 0x38]
inc dword [ebp - 0x30]
cmp byte [ebp - 0x65], 0xff
jne 0x43b4c1
cmp bl, 0x15
je 0x43b520
cmp bl, 0x25
je 0x43b520
cmp bl, 0x35
je 0x43b520
cmp byte [ebp - 0x65], 0x8b
jne 0x43b4ea
cmp bl, 0xd
je 0x43b520
cmp bl, 0x15
je 0x43b520
cmp bl, 0x1d
je 0x43b520
cmp bl, 0x25
je 0x43b520
cmp bl, 0x2d
je 0x43b520
cmp bl, 0x35
je 0x43b520
cmp bl, 0x3d
je 0x43b520
cmp bl, 0xa1
je 0x43b520
cmp byte [ebp - 0x65], 0x3b
jne 0x43b7a8
cmp bl, 5
je 0x43b520
cmp bl, 0xd
je 0x43b520
cmp bl, 0x15
je 0x43b520
cmp bl, 0x1d
je 0x43b520
cmp bl, 0x25
je 0x43b520
cmp bl, 0x35
je 0x43b520
cmp bl, 0x3d
jne 0x43b7a8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x10]
lea edx, [edx + ecx*4]
lea ecx, [ebp - 0x48]
xchg edx, eax
xchg edx, ecx
call fcn.004397dc
cmp dword [ebp - 0x48], 0
je 0x43b7ab
cmp edi, dword [ebp - 0x48]
ja 0x43b7ab
mov eax, dword [ebp - 0x40]
add eax, edi
cmp eax, dword [ebp - 0x48]
jb 0x43b7ab
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x10], 0
je 0x43b598
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
add eax, edi
cmp eax, dword [ebp - 0x48]
ja 0x43b7ab
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x14], 0
je 0x43b598
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x14]
add eax, dword [edx + 0x14]
add eax, edi
cmp eax, dword [ebp - 0x48]
jbe 0x43b7ab
mov edx, dword [ebp - 0x48]
sub edx, edi
lea eax, [ebp - 0x148]
call fcn.0043b0ec
mov esi, eax
test esi, esi
jl 0x43b65d
movzx eax, word [ebp - 0x11c]
cmp esi, eax
jge 0x43b65d
mov eax, dword [ebp - 0x70]
cmp dword [eax + esi*4], 0
jne 0x43b63e
mov eax, dword [ebp - 0x20]
sub eax, 2
cmp esi, eax
jge 0x43b5ed
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0x34]
lea edx, [esi + esi*4]
mov ecx, dword [ebp - 0x80]
sub eax, dword [ecx + edx*8 + 0xc]
mov dword [ebp - 0x24], eax
jmp 0x43b5fa
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + eax*8 + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x6c]
lea eax, [eax + esi*4]
mov ecx, 1
mov edx, dword [0x439224]
call fcn.00427a58
add esp, 4
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x24]
mov dword [eax + esi*4], edx
mov eax, dword [ebp - 0x24]
push eax
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x80]
mov ecx, dword [edx + eax*8 + 0xc]
add ecx, edi
mov eax, dword [ebp - 0x6c]
lea edx, [eax + esi*4]
mov eax, dword [ebp - 4]
call fcn.00439684
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x48]
sub ecx, edi
sub ecx, dword [edx + eax*8 + 0xc]
mov eax, dword [ebp - 0x6c]
lea eax, [eax + esi*4]
lea edx, [ebp - 0x54]
call fcn.004397dc
jmp 0x43b66b
lea edx, [ebp - 0x54]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.0043963c
cmp dword [ebp - 0x54], 0
je 0x43b7ab
mov eax, dword [ebp + 0x18]
call fcn.0042789c
dec eax
test eax, eax
jl 0x43b7a8
inc eax
mov dword [ebp - 0x78], eax
xor esi, esi
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x18]
cmp edi, dword [edx + eax*4 + 4]
je 0x43b79e
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + eax*4 + 4]
cmp eax, dword [ebp - 0x54]
jae 0x43b79e
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + eax*4 + 4]
lea edx, [esi + esi*4]
mov ecx, dword [ebp + 0x18]
add eax, dword [ecx + edx*4 + 8]
cmp eax, dword [ebp - 0x54]
jbe 0x43b79e
cmp byte [ebp + 0xc], 0
jne 0x43b6e6
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jae 0x43b6e6
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x50]
ja 0x43b7a8
lea eax, [ebp - 0x58]
push eax
push esi
lea eax, [ebp - 0x14c]
push eax
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x18]
lea ecx, [edx + eax*4]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.0043a9b8
cmp dword [ebp - 0x14c], 0
jne 0x43b719
test byte [ebp - 0x55], 0x80
je 0x43b7a8
cmp byte [ebp + 0xc], 0
je 0x43b775
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x43b740
inc eax
mov dword [ebp - 0x7c], eax
xor eax, eax
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov edx, dword [edx + eax*4]
cmp edx, dword [ebp - 0x54]
je 0x43b740
inc eax
dec dword [ebp - 0x7c]
jne 0x43b72d
test eax, eax
jl 0x43b749
cmp eax, dword [ebp - 0x14]
jl 0x43b775
mov eax, dword [ebp - 0x14]
inc eax
push eax
mov eax, dword [ebp + 0x10]
mov ecx, 1
mov edx, dword [0x43927c]
call fcn.00427a58
add esp, 4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x54]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x14]
add dword [ebp - 0x30], 4
add dword [ebp - 0x38], 4
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jb 0x43b78e
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x50]
jae 0x43b7a8
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
jmp 0x43b7a8
inc esi
dec dword [ebp - 0x78]
jne 0x43b68c
mov byte [ebp - 0x65], bl
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x34]
jb 0x43b497
inc dword [ebp - 0x10]
dec dword [ebp - 0x74]
jne 0x43b300
cmp dword [ebp - 0x50], 0xffffffff
jne 0x43b7cf
cmp dword [ebp - 0x4c], 0
je 0x43b7f0
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
ja 0x43b7f0
mov eax, dword [ebp - 0x50]
sub eax, edi
mov dword [0x4699c0], eax
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x50]
mov dword [0x4699c4], eax
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43b861
lea eax, [ebp - 0x14c]
call fcn.00426a00
lea eax, [ebp - 0x148]
mov edx, dword [0x439308]
call fcn.00427380
lea eax, [ebp - 0x70]
mov edx, dword [0x43b1b4]
call fcn.00427b58
lea eax, [ebp - 0x6c]
mov edx, dword [0x43924c]
call fcn.00427b58
lea eax, [ebp - 0x64]
call fcn.00426a00
lea eax, [ebp - 0x60]
mov edx, dword [0x439224]
call fcn.00427b58
lea eax, [ebp + 0x18]
mov edx, dword [0x4393c4]
call fcn.00427b58
ret