Function at 0x503e94
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x80
push ebx
push ecx
push edx
push esi
push edi
mov edx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ecx
call fcn.00421ea4
mov eax, 0
mov eax, 4
mov ecx, dword [eax + 0x56742c]
mov dword [esp + eax + 0x8c], ecx
sub eax, 4
jae 0x503eb8
mov eax, 4
mov ecx, dword [eax + 0x567434]
mov dword [esp + eax + 0x84], ecx
sub eax, 4
jae 0x503ecf
lea edi, [esp + 0x74]
mov eax, edi
call fcn.00509d04
mov eax, ebx
call fcn.005046bc
mov ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x503f03
cmp byte [ecx + 0x59], 0
jne 0x503f0a
jmp 0x503f13
cmp ecx, 0
jne 0x503efb
jmp 0x503f13
call fcn.0041d96c
mov dword [esp + 0x44], eax
mov eax, edx
cmp eax, 0x3c
je 0x503f56
cmp eax, 5
je 0x503f56
cmp eax, 0x22
je 0x503f56
cmp eax, 9
je 0x503f56
cmp eax, 0x48
je 0x503f56
cmp eax, 0x42
je 0x503f56
cmp eax, 0x43
je 0x503f56
cmp eax, 0x26
je 0x503f56
cmp eax, 0x3f
je 0x503f56
cmp eax, 0x40
je 0x503f56
cmp eax, 0x47
je 0x503f56
cmp eax, 0x4f
je 0x503f56
cmp eax, 0x4e
jne 0x503fcb
call fcn.004347ec
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
call fcn.004b3d54
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
call fcn.00434d3c
mov eax, edx
cmp eax, 0x22
je 0x503f99
cmp eax, 0x47
je 0x503f99
cmp eax, 0x4e
jne 0x503fcb
call fcn.004347ec
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
call fcn.004b3d54
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
call fcn.00434d3c
mov eax, ecx
mov ebx, edx
lea ecx, [esp + 0x8c]
call fcn.00504638
mov esi, eax
cmp esi, 0
jne 0x504510
mov eax, edx
cmp eax, 0x18
je 0x504014
cmp eax, 0x1f
je 0x504014
cmp eax, 0x3d
je 0x504014
cmp eax, 0x42
je 0x504014
cmp eax, 0x3f
je 0x504014
cmp eax, 0x10
je 0x504014
cmp eax, 0x20
je 0x504014
cmp eax, 0x31
jne 0x5041aa
mov ecx, dword [esp + 0x14]
mov eax, ecx
call fcn.00504d68
mov esi, eax
mov eax, ecx
mov ebx, 1
call fcn.00504e9c
cmp esi, 0
jne 0x504197
mov eax, edx
cmp eax, 0x18
je 0x504042
cmp eax, 0x1f
jne 0x504065
mov eax, ecx
mov ebx, 1
call fcn.00504e7c
mov eax, ecx
cmp edx, 0x1f
sete bl
movzx ebx, bl
call fcn.00504f44
mov esi, eax
jmp 0x504197
cmp eax, 0x3d
jne 0x504078
mov eax, ecx
mov ebx, edi
call fcn.00504f18
jmp 0x504197
cmp eax, 0x10
jne 0x504089
mov eax, ecx
call fcn.005050b4
jmp 0x504197
cmp eax, 0x20
jne 0x5040a3
mov eax, ecx
call fcn.00504f30
mov ebx, eax
mov eax, edi
call fcn.00509d2c
jmp 0x5045e0
cmp eax, 0x31
jne 0x5040be
mov eax, dword [esp + 0x40]
lea eax, [eax + 4]
mov ebx, dword [eax - 4]
mov eax, ecx
call fcn.0050506c
jmp 0x504197
cmp eax, 0x42
je 0x5040cc
cmp eax, 0x3f
jne 0x504197
lea esi, [esp + 0x48]
mov dword [esp + 0x3c], esi
mov eax, esi
mov ebx, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
call fcn.00506b7c
cmp edx, 0x42
jne 0x50410e
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov ebx, 0
call fcn.00504e7c
mov eax, ecx
mov ebx, esi
call fcn.00504ef8
mov esi, eax
jmp 0x504197
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x18], 0
je 0x50418e
lea ecx, [esp + 0x7c]
mov dword [esp + 0x34], ecx
mov eax, ecx
call fcn.00509d04
mov esi, dword [esp + 0x14]
mov eax, esi
mov ebx, dword [esp + 0x3c]
call fcn.00504ef8
mov eax, esi
mov ebx, ecx
mov ecx, 0
call fcn.00504ecc
mov eax, esi
call fcn.005057a0
mov eax, esi
call fcn.00504d68
mov esi, eax
cmp esi, 0
jne 0x504183
lea eax, [esp + 0x54]
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
call fcn.00506b7c
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x38]
mov ecx, 0
call fcn.00504eb4
mov eax, dword [esp + 0x34]
call fcn.00509d2c
jmp 0x504197
mov ebx, esi
call fcn.00504ee0
mov esi, eax
mov eax, dword [esp + 0x14]
mov ebx, 0
call fcn.00504e9c
jmp 0x504510
cmp eax, 0x3a
jne 0x5041bf
mov eax, dword [esp + 0x14]
mov dword [eax + 0x40], 1
jmp 0x504510
cmp eax, 0xb
je 0x5041d8
cmp eax, 0x1e
je 0x5041d8
cmp eax, 0x12
je 0x5041d8
cmp eax, 0x13
je 0x5041d8
cmp eax, 0x24
jne 0x5041f8
mov eax, dword [esp + 0x14]
call fcn.00505770
mov esi, eax
mov eax, edx
mov ebx, esi
mov ecx, dword [esp + 0x40]
call dword [esi]
mov esi, dword [0x542b34]
jmp 0x504510
cmp eax, 0x19
jne 0x50423a
mov ebx, dword [esp + 0x14]
mov eax, ebx
call fcn.005057a0
mov eax, ebx
call fcn.00505770
mov eax, dword [eax + 0x33]
cmp eax, 0
je 0x504510
mov ecx, dword [eax + 0x45]
and ecx, 0x40
or dword [ebx], ecx
mov eax, dword [eax + 0x45]
and eax, 0x80
or dword [ebx], eax
jmp 0x504510
cmp byte [ebx + 0x59], 0
jne 0x50424a
jmp 0x504267
cmp eax, 7
jne 0x504295
mov ebx, dword [esp + 0x14]
cmp ebx, 0
jne 0x504232
jmp 0x504267
call fcn.0041d96c
sub eax, dword [esp + 0x44]
push eax
push 0
mov eax, dword [esp + 0x38]
mov ebx, dword [ebx + 0x5b]
mov ecx, 0
call fcn.0047f224
mov ebx, dword [esp + 0x14]
cmp ebx, 0
je 0x50427e
mov eax, ebx
call fcn.0050736c
mov eax, ebx
call fcn.004c51e8
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x30]
mov dword [eax], 0x503e44
jmp 0x504510
cmp eax, 0x1d
jne 0x5042aa
mov eax, dword [esp + 0x14]
mov dword [eax + 0x18], 1
jmp 0x504510
cmp eax, 0x51
jne 0x5042c7
mov eax, dword [esp + 0x40]
lea eax, [eax + 4]
mov ebx, dword [eax - 4]
mov eax, dword [esp + 0x14]
call fcn.005052a8
jmp 0x504510
cmp eax, 0x53
jne 0x5042da
mov eax, dword [esp + 0x14]
call fcn.005050c8
jmp 0x504510
cmp eax, 0x47
jne 0x504394
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
call fcn.00481478
mov ecx, eax
mov dword [esp + 0x28], ecx
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
call fcn.00481478
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x40]
lea ebx, [ebx + 4]
mov ebx, dword [ebx - 4]
mov dword [esp + 0x2c], ebx
call fcn.004c2b08
cmp eax, 0x7345
jne 0x50433e
mov eax, dword [esp + 0x14]
mov ebx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.005051e4
jmp 0x50437d
cmp eax, 0x7ce6
jne 0x504352
mov eax, dword [esp + 0x14]
mov ebx, ecx
call fcn.005047a0
jmp 0x50437d
cmp eax, 0x7cb8
jne 0x504366
mov eax, dword [esp + 0x14]
mov ebx, ecx
call fcn.00504754
jmp 0x50437d
cmp eax, 0x7327
jne 0x50437d
mov eax, ecx
call fcn.004c2b08
mov bl, al
mov eax, dword [esp + 0x14]
mov byte [eax + 0x5a], bl
mov eax, dword [esp + 0x28]
call fcn.004b3428
mov eax, dword [esp + 0x24]
call fcn.004b3428
jmp 0x504510
cmp eax, 0x48
jne 0x50450b
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
call fcn.00481478
mov ecx, eax
mov eax, dword [esp + 0x40]
lea eax, [eax + 4]
mov ebx, dword [eax - 4]
mov dword [esp + 0x1c], ebx
mov eax, ecx
call fcn.004c2b08
mov dword [esp + 0x20], eax
mov eax, ecx
call fcn.004b3428
mov dword [esp + 0x18], 0
mov cl, 1
mov eax, dword [esp + 0x20]
cmp eax, 0x7345
jne 0x5043fd
mov eax, dword [esp + 0x14]
mov ebx, edi
mov ecx, dword [esp + 0x1c]
call fcn.0050512c
mov cl, 0
jmp 0x5044da
cmp eax, 0x7cb8
jne 0x50443c
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0x1c], 0
je 0x504424
mov eax, dword [ebx + 0x1c]
call fcn.0042f564
mov ecx, eax
mov eax, edi
mov ebx, dword [ebx + 0x1c]
call fcn.00506c18
jmp 0x504435
mov eax, edi
mov ebx, 0
mov ecx, 0
call fcn.00506c18
mov cl, 0
jmp 0x5044da
cmp eax, 0x7ce6
jne 0x504459
mov eax, dword [esp + 0x14]
mov ebx, edi
mov ecx, dword [esp + 0x1c]
call fcn.00504914
mov cl, 0
jmp 0x5044da
cmp eax, 0x7325
jne 0x50446f
mov eax, dword [esp + 0x14]
call fcn.0050568c
mov dword [esp + 0x18], eax
jmp 0x5044da
cmp eax, 0x7326
jne 0x504485
mov eax, dword [esp + 0x14]
call fcn.0050534c
mov dword [esp + 0x18], eax
jmp 0x5044da
cmp eax, 0x7327
jne 0x50449a
mov eax, dword [esp + 0x14]
movsx eax, byte [eax + 0x5a]
mov dword [esp + 0x18], eax
jmp 0x5044da
cmp eax, 0x7312
jne 0x5044b0
mov eax, dword [esp + 0x14]
call fcn.005054b0
mov dword [esp + 0x18], eax
jmp 0x5044da
cmp eax, 0x731f
jne 0x5044c6
mov eax, dword [esp + 0x14]
call fcn.00505450
mov dword [esp + 0x18], eax
jmp 0x5044da
cmp eax, 0x734a
jne 0x5044da
mov eax, dword [esp + 0x14]
call fcn.005053f0
mov dword [esp + 0x18], eax
cmp cl, 0
je 0x504510
mov eax, dword [esp + 0x18]
lea ebx, [esp + 0x60]
mov ecx, 0xa
call fcn.004c26f8
mov eax, ebx
call fcn.0042f564
mov ecx, eax
mov eax, edi
call fcn.00506c18
jmp 0x504510
cmp byte [ebx + 0x59], 0
jne 0x504563
jmp 0x50457f
mov esi, 0x50
mov eax, edx
cmp eax, 0x48
je 0x504530
cmp eax, 0x4f
je 0x504530
cmp eax, 0x17
je 0x504530
cmp eax, 0x3d
je 0x504530
cmp eax, 0x3e
je 0x504530
cmp eax, 0x3c
jne 0x504545
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
call fcn.00434f80
mov dword [esp + 0x78], 0
cmp esi, 0
jne 0x504550
mov esi, dword [0x542b34]
mov ebx, dword [esp + 0x14]
cmp ebx, 0
jne 0x504503
jmp 0x50457f
cmp byte [ebx + 0x5a], 0
je 0x50458a
jmp 0x504591
call fcn.0041d96c
sub eax, dword [esp + 0x44]
push eax
push esi
mov eax, dword [esp + 0x38]
mov ebx, dword [ebx + 0x5b]
mov ecx, 0
call fcn.0047f224
mov ebx, dword [esp + 0x14]
cmp ebx, 0
jne 0x50455b
jmp 0x504591
mov eax, ebx
call fcn.0050577c
mov eax, ebx
mov ebx, edx
mov ecx, esi
call fcn.005045f0
cmp dword [esp + 0x8c], 0
je 0x5045b2
mov eax, dword [esp + 0x8c]
call fcn.004b3428
cmp dword [esp + 0x84], 0
je 0x5045c8
mov eax, dword [esp + 0x84]
call fcn.004b3428
cmp esi, 0
je 0x5045d4
mov eax, esi
call fcn.00421f94
mov ebx, 0
mov eax, edi
call fcn.00509d2c
mov eax, ebx
pop edi
pop esi
pop edx
pop ecx
pop ebx
add esp, 0x80
ret