Function at 0x5a2740
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword [0x7da588]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5a2aa1
sub esp, 0x3c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x4c]
cmp edx, 1
jle 0x5a2808
lea eax, [edx - 1]
test eax, eax
ja 0x5a278b
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x5a27cb
mov dword [esp + 0x28], eax
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x5dd460]
mov dword [esp + 0x10], ecx
call fcn.00450060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x38], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
inc edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046c780
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x5a2834
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a284c
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
test edx, edx
setne dl
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
movzx eax, byte [esp + 0x44]
jmp 0x5a286d
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
movzx eax, byte [esp + 0x44]
mov ebx, edx
mov edx, 1
mov byte [esp + 0x23], dl
mov ecx, dword [ebx + 0x58]
mov edx, dword [ebx + 0x60]
cmp ecx, edx
jbe 0x5a2a99
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [ecx + edx]
cmp cl, 0x30
jb 0x5a28b4
cmp cl, 0x39
jbe 0x5a28a4
cmp cl, 0x41
jb 0x5a28b4
cmp cl, 0x5a
jbe 0x5a28a4
cmp cl, 0x61
jb 0x5a28af
cmp cl, 0x7a
ja 0x5a28f5
cmp cl, 0x25
je 0x5a2957
jmp 0x5a2918
cmp cl, 0x5f
je 0x5a2918
cmp cl, 0x2d
je 0x5a2918
cmp cl, 0x3b
je 0x5a2918
cmp cl, 0x2f
je 0x5a2918
cmp cl, 0x3f
je 0x5a2918
cmp cl, 0x3a
je 0x5a2918
cmp cl, 0x40
je 0x5a2918
cmp cl, 0x26
je 0x5a2918
cmp cl, 0x3d
je 0x5a2918
cmp cl, 0x2b
je 0x5a2918
cmp cl, 0x24
je 0x5a2918
cmp cl, 0x2c
je 0x5a2918
cmp cl, 0x2e
je 0x5a2918
cmp cl, 0x21
je 0x5a2918
cmp cl, 0x7e
je 0x5a2918
cmp cl, 0x2a
je 0x5a2918
cmp cl, 0x27
je 0x5a2918
cmp cl, 0x28
je 0x5a2918
cmp cl, 0x29
je 0x5a2918
cmp cl, 0x5b
je 0x5a2918
cmp cl, 0x5d
jne 0x5a2952
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0059c860
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
jmp 0x5a2980
cmp cl, 0x25
jne 0x5a29c3
mov dword [esp], ebx
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], ecx
call fcn.005a2ab0
movzx eax, byte [esp + 0x18]
test al, al
je 0x5a29ba
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x5a2855
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a29b1
mov edx, dword [esp + 0x40]
jmp 0x5a2855
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
movzx ecx, byte [esp + 0x23]
test cl, cl
je 0x5a2a03
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x7da640]
test eax, eax
je 0x5a29f8
call fcn.0046be80
mov dword [edi], edx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], edx
mov byte [esp + 0x64], 1
add esp, 0x3c
ret
nop
test al, al
je 0x5a2a15
mov eax, 0x1e
lea ecx, [0x614450]
jmp 0x5a2a20
mov eax, 0x13
lea ecx, [0x60ee56]
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], eax
mov eax, dword [0x7da640]
test eax, eax
je 0x5a2a45
mov eax, edi
call fcn.0046be80
mov dword [edi], ecx
mov edx, dword [ebx + 0x20]
mov dword [edi + 4], edx
mov edi, eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x28], edi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x30], ebp
mov dword [ebx + 8], 0x1d
mov eax, dword [0x7da640]
test eax, eax
je 0x5a2a6c
mov eax, dword [ebx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x613d04]
mov dword [ebx + 4], eax
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x8c]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
mov byte [esp + 0x64], 0
add esp, 0x3c
ret
mov eax, edx
call fcn.0046bef0
nop
call fcn.0046aa70
jmp fcn.005a2740