Function at 0x5a8bf0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
xor ebx, ebx
mov edi, ecx
mov dword [ebp - 0x10], ebx
call fcn.005913c0
mov ecx, edi
mov esi, eax
call fcn.00593a40
mov ecx, edi
test al, al
je 0x5a8c24
push 1
call fcn.005a0870
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00593bc0
test al, al
je 0x5a8fae
lea eax, [ebp - 4]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [eax + 0x18c]
call fcn.005a8b00
push eax
push esi
call fcn.005b7030
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [0x9f7dcc]
je 0x5a8c6d
push 0xa
mov ecx, edi
call fcn.005926f0
mov eax, dword [edi]
lea ecx, [edi + 0x10]
mov esi, dword [eax + 0x18c]
call fcn.00548a70
push eax
push esi
call fcn.004d37b0
add esp, 8
mov ebx, eax
mov ecx, edi
mov dword [ebp - 8], ebx
call fcn.00591020
mov esi, dword [ebp - 0xc]
mov ecx, dword [esi + 4]
cmp ecx, dword [0x9f7dcc]
mov ecx, edi
jne 0x5a8db8
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
push dword [ebp - 4]
call fcn.005b2260
mov ecx, edi
call fcn.005934c0
mov ebx, dword [ebp - 0x10]
test al, al
je 0x5a8d5b
mov eax, dword [edi + 0x44]
test eax, eax
je 0x5a8ce0
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
jmp 0x5a8ce2
xor eax, eax
mov ecx, dword [edi + 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x18c]
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
call fcn.005630e0
push eax
push esi
call fcn.005b7160
mov edx, dword [0x9f7dcc]
mov esi, eax
add esp, 8
cmp dword [esi + 4], edx
je 0x5a8d61
test ebx, ebx
je 0x5a8d1f
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jge 0x5a8d61
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0x10
call fcn.004d0f20
add esp, 8
test eax, eax
je 0x5a8d52
mov ecx, dword [ebp - 4]
mov dword [eax + 4], ecx
mov dword [eax], 0x96b480
pop edi
mov dword [eax + 8], esi
pop esi
mov dword [eax + 0xc], 0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x9f7dcc]
test ebx, ebx
jne 0x5a94f1
mov ecx, dword [edi + 0x60]
cmp dword [ecx + 4], edx
je 0x5a8da2
mov eax, dword [edi]
push dword [ebp - 8]
mov esi, dword [eax + 0x18c]
call fcn.00562fb0
push eax
push esi
call fcn.005b7160
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp ecx, dword [0x9f7dcc]
je 0x5a8da2
mov ecx, dword [edi]
push dword [ecx + 0x18c]
jmp 0x5a8d27
push dword [ebp - 8]
mov ecx, edi
push dword [ebp - 4]
call fcn.005b2010
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push esi
push dword [ebp - 4]
call fcn.005b2590
mov ebx, eax
test ebx, ebx
jne 0x5a8ef0
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], bl
je 0x5a8e32
push dword [0x9fca84]
mov ecx, dword [ebp - 8]
call fcn.004946a0
test al, al
je 0x5a8e32
push dword [ebp - 4]
mov ecx, edi
call fcn.005b32c0
mov ecx, edi
call fcn.00591020
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a8e27
mov eax, dword [ebp - 4]
pop edi
mov dword [ebx + 8], esi
mov dword [ebx + 4], eax
mov eax, ebx
pop esi
mov dword [ebx], 0x959b1c
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
xor ebx, ebx
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push 3
push dword [eax + 0x18c]
call fcn.0053aac0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 3]
mov eax, dword [edi]
push ecx
push dword [eax + 0x18c]
call fcn.00494870
add esp, 8
lea ecx, [ebp - 0x24]
push eax
call fcn.0053b610
push dword [0x9fd280]
lea ecx, [ebp - 0x24]
call fcn.0053b610
push dword [ebp - 8]
lea ecx, [ebp - 0x24]
call fcn.0053b610
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push eax
mov esi, dword [eax + 0x18c]
call fcn.0060c340
push eax
push esi
call fcn.004d37b0
mov ecx, dword [edi]
mov esi, eax
push dword [ecx + 0x18c]
push 0x10
call fcn.004d0f20
mov ebx, eax
add esp, 0x18
test ebx, ebx
je 0x5a8ec8
mov eax, dword [ebp - 4]
mov dword [ebx + 4], eax
mov dword [ebx], 0x96b480
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0
jmp 0x5a8eca
xor ebx, ebx
mov esi, dword [ebp - 0xc]
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
je 0x5a94f1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x84]
pop edi
mov dword [eax + 0xc], esi
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x9fb0dd], 0
je 0x5a94f1
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
je 0x5a94f1
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push 3
push dword [eax + 0x18c]
call fcn.0053aac0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 3]
mov eax, dword [edi]
push ecx
push dword [eax + 0x18c]
call fcn.00494870
add esp, 8
lea ecx, [ebp - 0x24]
push eax
call fcn.0053b610
push dword [0x9fd280]
lea ecx, [ebp - 0x24]
call fcn.0053b610
push dword [ebp - 8]
lea ecx, [ebp - 0x24]
call fcn.0053b610
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
push eax
mov esi, dword [eax + 0x18c]
call fcn.0060c340
push eax
push esi
call fcn.004d37b0
add esp, 0x10
mov ecx, edi
mov esi, eax
call fcn.005913c0
push dword [ebp - 0xc]
dec eax
mov ecx, edi
neg eax
push 0
sbb eax, eax
neg eax
push eax
push 4
push 0
push esi
push dword [edi + 0x60]
push dword [ebp - 4]
call fcn.005b61b0
mov ecx, dword [edi + 0x44]
push eax
mov ecx, dword [ecx + 8]
call fcn.004d14b0
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x71
jne 0x5a9029
mov ecx, dword [edi + 0x44]
test ecx, ecx
jne 0x5a8fbe
xor esi, esi
jmp 0x5a8fd4
mov ecx, dword [ecx + 4]
push 0
push dword [0x9fd1a4]
call fcn.005f04d0
mov esi, eax
test esi, esi
jne 0x5a8fe2
push 0x96f164
push edi
call fcn.005b1aa0
add esp, 8
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a91d1
lea eax, [ebp - 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [ebx + 4], eax
mov dword [ebx], 0x95b2a0
mov dword [ebx + 8], esi
call fcn.00591020
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x3c
jne 0x5a90a0
lea ecx, [edi + 0x10]
call fcn.00548b20
mov ecx, dword [edi + 0x5c]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x5c]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 7]
mov eax, dword [edi]
push ecx
push dword [eax + 0x18c]
call fcn.00532b70
mov ecx, dword [edi]
mov dword [ebp - 0xc], eax
push dword [ecx + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x5a91d1
lea eax, [ebp - 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [ebx], 0x959b1c
mov dword [ebx + 8], eax
call fcn.00591020
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x73
jne 0x5a90c9
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a91d1
mov esi, dword [0x9fbc6c]
jmp 0x5a9119
cmp esi, 0x5c
jne 0x5a90f2
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a91d1
mov esi, dword [0x9fbc70]
jmp 0x5a9119
cmp esi, 0x68
jne 0x5a9144
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a91d1
mov esi, dword [0x9fbc28]
lea eax, [ebp - 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov dword [ebx + 4], eax
mov dword [ebx], 0x959b1c
mov dword [ebx + 8], esi
call fcn.00591020
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 1
jne 0x5a917c
mov ecx, edi
call fcn.00591020
mov bl, byte [edi + 0x50]
mov ecx, edi
push esi
push 0
mov byte [edi + 0x50], 1
call fcn.0059d150
push 2
mov ecx, edi
mov dword [ebp - 0x10], eax
mov byte [edi + 0x50], bl
call fcn.005926f0
mov ebx, dword [ebp - 0x10]
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x3d
jne 0x5a91e3
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [eax + 0x18c]
call fcn.00591380
push eax
push esi
call fcn.004d3630
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp ecx, dword [0x9f7dcc]
jne 0x5a91b5
push 0x96f184
push edi
call fcn.005b1aa0
add esp, 8
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0xc
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x5a9119
mov ecx, edi
xor ebx, ebx
call fcn.00591020
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x3b
jne 0x5a91fa
push 1
mov ecx, edi
call fcn.005ab370
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x67
jne 0x5a9217
mov ecx, edi
call fcn.00591020
push esi
mov ecx, edi
call fcn.005a7290
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x50
jne 0x5a9280
push 1
lea ecx, [edi + 0x10]
call fcn.00560540
cmp eax, 0x32
je 0x5a94e8
push 1
lea ecx, [edi + 0x10]
call fcn.00560540
cmp eax, 3
je 0x5a94e8
push 1
lea ecx, [edi + 0x10]
call fcn.00560540
cmp eax, 0x37
je 0x5a94e8
push 1
lea ecx, [edi + 0x10]
call fcn.00560540
cmp eax, 5
je 0x5a94e8
mov ecx, edi
call fcn.00591020
push esi
mov ecx, edi
call fcn.005a7290
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x32
je 0x5a94e8
cmp esi, 3
je 0x5a94e8
cmp esi, 0x37
je 0x5a94e8
cmp esi, 5
je 0x5a94e8
cmp esi, 0x42
jne 0x5a92b9
mov ecx, edi
call fcn.005acce0
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0x6f
jne 0x5a94d8
mov eax, dword [edi + 0x54]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x37]
shr eax, 0xf
test al, 1
je 0x5a92e3
push 0x96f19c
push edi
call fcn.005b1aa0
add esp, 8
mov ecx, dword [edi + 0x60]
mov esi, dword [0x9f7dcc]
push 0
call fcn.00571e80
cmp eax, esi
jne 0x5a932a
mov eax, dword [edi]
mov ecx, dword [edi + 0x60]
mov esi, dword [eax + 0x18c]
call fcn.00493380
push eax
push esi
call fcn.00494870
add esp, 8
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x114]
push eax
push 0x96c894
push edi
call fcn.005b1aa0
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
mov ecx, edi
call fcn.00591020
mov ecx, edi
call fcn.005913c0
mov ecx, edi
cmp eax, 0xa
jne 0x5a9436
call fcn.00591020
lea eax, [ebp - 0x10]
push eax
lea ecx, [edi + 0x10]
call fcn.00548b10
push 0x96c5c0
mov ecx, edi
call fcn.005925d0
mov ecx, edi
mov ebx, eax
call fcn.00593800
test al, al
je 0x5a9422
mov ecx, dword [edi]
push dword [ecx + 0x18c]
call fcn.005b7140
add esp, 4
mov ecx, edi
mov esi, eax
call fcn.005913c0
cmp eax, 0x32
jne 0x5a9410
push 4
mov ecx, edi
call fcn.005af500
mov dword [esi + 4], eax
call fcn.0049f4a0
mov eax, dword [eax + 0x3c]
shr eax, 0xe
test al, 1
je 0x5a9408
mov eax, dword [esi + 4]
cmp eax, dword [0x9f7dcc]
je 0x5a9410
push 0
push 0x7fffffff
push 0
mov ecx, esi
call fcn.0055fce0
push eax
push 0
mov ecx, esi
call fcn.0055f2f0
test al, al
jne 0x5a9410
mov eax, dword [edi + 0x44]
test eax, eax
je 0x5a9410
mov eax, dword [eax + 4]
cmp dword [eax + 0xc], 0
jle 0x5a9410
mov ecx, edi
call fcn.0058d970
push esi
push ebx
mov ecx, edi
call fcn.005abd10
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x9f7dcc]
mov dword [esi + 4], eax
push esi
push ebx
mov ecx, edi
call fcn.005abd10
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x10]
mov ecx, edi
push ebx
call fcn.005abf10
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.005913c0
cmp eax, 3
je 0x5a94c8
mov ecx, edi
call fcn.005913c0
push eax
call fcn.0058d8d0
add esp, 4
test al, al
jne 0x5a94c8
mov ecx, edi
call fcn.005913c0
cmp eax, 0x2f
je 0x5a94c8
mov ecx, edi
call fcn.005913c0
cmp eax, 0xb
jne 0x5a9487
push 0x96f1c8
push edi
call fcn.005b1aa0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
push dword [eax + 0x18c]
push 0x10
call fcn.004d0f20
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5a8e27
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x9fd19c]
pop edi
mov dword [ebx + 4], eax
mov eax, ebx
pop esi
mov dword [ebx], 0x96b480
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], 0
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.005ac430
pop edi
mov ebx, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.005b6e70
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
call fcn.0059b180
mov ebx, eax
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret