Function at 0x430c64
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe70
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov esi, ecx
lea edi, [ebp - 0x174]
mov ecx, 0x3f
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x174]
mov edx, dword [0x42e830]
call fcn.0041c4f0
mov eax, dword [ebp + 0x1c]
call fcn.0041cc64
xor eax, eax
push ebp
push 0x431463
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov dword [ebp - 0x38], 0xffffffff
xor eax, eax
mov dword [ebp - 0x3c], eax
cmp word [ebp - 0x110], 0
je 0x431404
movzx eax, word [ebp - 0x110]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 - 0x1c]
movzx edx, word [ebp - 0x110]
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x7c]
add eax, dword [ecx + edx*8 - 0x20]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x10], eax
push 0
mov eax, dword [ebp + 0x14]
mov ecx, 1
mov edx, dword [0x41db38]
call fcn.0041cb00
add esp, 4
movzx eax, word [ebp - 0x110]
push eax
lea eax, [ebp - 0x5c]
mov ecx, 1
mov edx, dword [0x42e7a0]
call fcn.0041cb00
add esp, 4
movzx eax, word [ebp - 0x110]
push eax
lea eax, [ebp - 0x60]
mov ecx, 1
mov edx, dword [0x430c40]
call fcn.0041cb00
add esp, 4
movzx eax, word [0x467948]
mov dword [ebp - 0x14], eax
push 0
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, dword [0x41db94]
call fcn.0041cb00
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, dword [0x41db94]
call fcn.0041cb00
add esp, 4
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0xc]
add ebx, dword [ebp + 0xc]
jmp 0x430e8b
push 0x1c
lea eax, [ebp - 0x190]
push eax
push ebx
mov eax, dword [ebp - 4]
push eax
call sub.KERNEL32.dll_VirtualQueryEx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp + 0xc]
cmp ebx, eax
jae 0x430eb4
mov eax, dword [ebp - 0x184]
add dword [ebp - 0x1c], eax
add ebx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x17c]
cmp eax, 0x10
je 0x430e1d
cmp eax, 0x20
je 0x430e1d
cmp eax, 0x40
je 0x430e1d
cmp eax, 0x80
je 0x430e1d
cmp eax, 4
je 0x430e1d
cmp eax, 8
je 0x430e1d
mov eax, ebx
sub eax, dword [ebp - 0x184]
cmp eax, dword [ebp - 8]
ja 0x430eb4
jmp 0x430e8b
mov edx, dword [ebp - 0x190]
sub edx, dword [ebp + 0xc]
lea eax, [ebp - 0x174]
call fcn.00430b8c
mov edi, eax
cmp edi, 0xffffffff
je 0x430e41
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + edi], 1
mov edx, dword [ebp - 0x190]
add edx, dword [ebp - 0x184]
dec edx
sub edx, dword [ebp + 0xc]
lea eax, [ebp - 0x174]
call fcn.00430b8c
mov esi, eax
cmp esi, 0xffffffff
je 0x430e6c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + esi], 1
cmp edi, 0xffffffff
je 0x430e8b
cmp esi, 0xffffffff
je 0x430e8b
lea eax, [edi + 1]
cmp esi, eax
jle 0x430e8b
inc edi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + edi], 1
cmp esi, edi
jne 0x430e7d
mov eax, dword [ebp - 0x1c]
cdq
push edx
push eax
mov eax, dword [ebp - 0x13c]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x430eac
cmp eax, dword [esp]
pop edx
pop eax
ja 0x430dae
jmp 0x430eb4
pop edx
pop eax
jg 0x430dae
xor eax, eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x430f1a
inc eax
mov dword [ebp - 0x70], eax
xor edi, edi
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov ebx, dword [edx + eax*8 + 0xc]
add ebx, dword [ebp + 0xc]
cmp ebx, dword [ebp - 8]
jbe 0x430f07
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 + 0x24]
cmp eax, dword [ebp - 0x64]
je 0x430f07
mov esi, edi
mov eax, dword [ebp - 0x14]
dec eax
sub eax, esi
jl 0x430f1a
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + esi], 0
inc esi
dec dword [ebp - 0x74]
jne 0x430ef6
jmp 0x430f1a
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 + 0x24]
mov dword [ebp - 0x64], eax
inc edi
dec dword [ebp - 0x70]
jne 0x430ec7
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x4313d6
inc eax
mov dword [ebp - 0x70], eax
xor edi, edi
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp byte [eax + edi], 0
je 0x4313cc
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x154]
call fcn.0042ec98
mov esi, eax
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 + 0x14]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
add eax, esi
mov dword [ebp - 0x28], eax
push esi
lea eax, [ebp - 0x54]
mov ecx, 1
mov edx, dword [0x41db68]
call fcn.0041cb00
add esp, 4
lea eax, [edi + edi*4]
mov edx, dword [ebp - 0x7c]
mov ebx, dword [edx + eax*8 + 0xc]
add ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x60]
cmp dword [eax + edi*4], 0
jne 0x430fca
push esi
mov eax, dword [ebp - 0x5c]
lea eax, [eax + edi*4]
mov ecx, 1
mov edx, dword [0x41db68]
call fcn.0041cb00
add esp, 4
mov eax, dword [ebp - 0x60]
mov dword [eax + edi*4], esi
push esi
mov eax, dword [ebp - 0x5c]
lea edx, [eax + edi*4]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.0042ee50
mov byte [ebp - 0x55], 0
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jae 0x4313cc
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + edi*4]
mov edx, dword [ebp - 0x24]
mov bl, byte [eax + edx]
inc dword [ebp - 0x24]
inc dword [ebp - 0x20]
cmp byte [ebp - 0x55], 0xff
jne 0x43100d
cmp bl, 0x15
je 0x43114b
cmp bl, 0x25
je 0x43114b
cmp bl, 0x35
je 0x43114b
cmp byte [ebp - 0x55], 0x8b
jne 0x43105b
cmp bl, 5
je 0x43114b
cmp bl, 0xd
je 0x43114b
cmp bl, 0x15
je 0x43114b
cmp bl, 0x1d
je 0x43114b
cmp bl, 0x25
je 0x43114b
cmp bl, 0x2d
je 0x43114b
cmp bl, 0x35
je 0x43114b
cmp bl, 0x3d
je 0x43114b
cmp bl, 0xa1
je 0x43114b
cmp byte [ebp - 0x55], 0x3b
jne 0x4310b2
cmp bl, 5
je 0x43114b
cmp bl, 0xd
je 0x43114b
cmp bl, 0x15
je 0x43114b
cmp bl, 0x1d
je 0x43114b
cmp bl, 0x25
je 0x43114b
cmp bl, 0x2d
je 0x43114b
cmp bl, 0x35
je 0x43114b
cmp bl, 0x3d
je 0x43114b
cmp byte [ebp - 0x55], 0xc7
jne 0x4310ed
cmp bl, 0xc0
je 0x43114b
cmp bl, 0xc1
je 0x43114b
cmp bl, 0xc2
je 0x43114b
cmp bl, 0xc3
je 0x43114b
cmp bl, 0xc4
je 0x43114b
cmp bl, 0xc5
je 0x43114b
cmp bl, 0xc6
je 0x43114b
cmp bl, 0xc7
je 0x43114b
cmp bl, 0x3d
je 0x43114b
cmp bl, 0xb8
je 0x43114b
cmp bl, 0xb9
je 0x43114b
cmp bl, 0xba
je 0x43114b
cmp bl, 0xbb
je 0x43114b
cmp bl, 0xbc
je 0x43114b
cmp bl, 0xbd
je 0x43114b
cmp bl, 0xbe
je 0x43114b
cmp bl, 0xbf
je 0x43114b
cmp byte [ebp - 0x55], 0x8d
jne 0x4313bd
cmp bl, 5
je 0x43114b
cmp bl, 0xd
je 0x43114b
cmp bl, 0x15
je 0x43114b
cmp bl, 0x1d
je 0x43114b
cmp bl, 0x25
je 0x43114b
cmp bl, 0x2d
je 0x43114b
cmp bl, 0x35
je 0x43114b
cmp bl, 0x3d
jne 0x4313bd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x5c]
lea eax, [eax + edi*4]
lea edx, [ebp - 0x48]
mov ecx, dword [ebp - 0x30]
call fcn.0042efd8
cmp dword [ebp - 0x48], 0
je 0x4313c0
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp + 0xc]
jb 0x4313c0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x48]
jb 0x4313c0
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x10], 0
je 0x4311c9
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x10]
add eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x48]
ja 0x4313c0
mov eax, dword [ebp + 0x18]
cmp dword [eax + 0x14], 0
je 0x4311c9
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x18]
add eax, dword [edx + 0x14]
add eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x48]
jbe 0x4313c0
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp + 0xc]
lea eax, [ebp - 0x174]
call fcn.00430b8c
mov esi, eax
test esi, esi
jl 0x431279
movzx eax, word [ebp - 0x110]
cmp esi, eax
jge 0x431279
mov eax, dword [ebp - 0x60]
cmp dword [eax + esi*4], 0
jne 0x431259
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x7c]
mov eax, dword [edx + eax*8 + 8]
mov edx, dword [ebp - 0x154]
call fcn.0042ec98
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x5c]
lea eax, [eax + esi*4]
mov ecx, 1
mov edx, dword [0x41db68]
call fcn.0041cb00
add esp, 4
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x18]
mov dword [eax + esi*4], edx
mov eax, dword [ebp - 0x18]
push eax
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edx + eax*8 + 0xc]
add ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x5c]
lea edx, [eax + esi*4]
mov eax, dword [ebp - 4]
call fcn.0042ee50
lea eax, [esi + esi*4]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp + 0xc]
sub ecx, dword [edx + eax*8 + 0xc]
mov eax, dword [ebp - 0x5c]
lea eax, [eax + esi*4]
lea edx, [ebp - 0x4c]
call fcn.0042efd8
jmp 0x431287
lea edx, [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.0042ede0
cmp dword [ebp - 0x4c], 0
je 0x4313c0
mov eax, dword [ebp + 0x1c]
call fcn.0041c944
dec eax
test eax, eax
jl 0x4313bd
inc eax
mov dword [ebp - 0x74], eax
xor esi, esi
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*4 + 4]
cmp eax, dword [ebp + 0xc]
je 0x4313b3
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*4 + 4]
cmp eax, dword [ebp - 0x4c]
jae 0x4313b3
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx + eax*4 + 4]
lea edx, [esi + esi*4]
mov ecx, dword [ebp + 0x1c]
add eax, dword [ecx + edx*4 + 8]
cmp eax, dword [ebp - 0x4c]
jbe 0x4313b3
cmp byte [ebp + 0x10], 0
jne 0x431305
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x3c]
jae 0x431305
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x38]
ja 0x4313bd
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x66]
push eax
lea eax, [ebp - 0x6c]
push eax
push esi
lea eax, [esi + esi*4]
mov edx, dword [ebp + 0x1c]
lea ecx, [edx + eax*4]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 4]
call fcn.004303ac
test al, al
je 0x4313bd
cmp byte [ebp + 0x10], 0
je 0x43138a
mov eax, dword [ebp - 0x10]
dec eax
test eax, eax
jl 0x431355
inc eax
mov dword [ebp - 0x78], eax
xor eax, eax
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
mov edx, dword [edx + eax*4]
cmp edx, dword [ebp - 0x4c]
je 0x431355
inc eax
dec dword [ebp - 0x78]
jne 0x431342
test eax, eax
jl 0x43135e
cmp eax, dword [ebp - 0x10]
jl 0x43138a
mov eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp + 0x14]
mov ecx, 1
mov edx, dword [0x41db38]
call fcn.0041cb00
add esp, 4
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + edx*4], ecx
inc dword [ebp - 0x10]
add dword [ebp - 0x20], 4
add dword [ebp - 0x24], 4
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x3c]
jb 0x4313a3
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x38]
jae 0x4313bd
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
jmp 0x4313bd
inc esi
dec dword [ebp - 0x74]
jne 0x4312a8
mov byte [ebp - 0x55], bl
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x28]
jb 0x430fda
inc edi
dec dword [ebp - 0x70]
jne 0x430f2c
cmp dword [ebp - 0x38], 0xffffffff
jne 0x4313e2
cmp dword [ebp - 0x3c], 0
je 0x431404
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x3c]
ja 0x431404
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp + 0xc]
mov dword [0x4679f4], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov dword [0x4679f8], eax
mov byte [ebp - 9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43146a
lea eax, [ebp - 0x174]
mov edx, dword [0x42e830]
call fcn.0041c3ac
lea eax, [ebp - 0x6c]
call fcn.0041ba2c
lea eax, [ebp - 0x60]
mov edx, dword [0x430c40]
call fcn.0041cc00
lea eax, [ebp - 0x5c]
mov edx, dword [0x42e7a0]
call fcn.0041cc00
lea eax, [ebp - 0x54]
mov edx, dword [0x41db68]
call fcn.0041cc00
lea eax, [ebp + 0x1c]
mov edx, dword [0x42e8ec]
call fcn.0041cc00
ret