Function at 0x5a57d0
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5a5b3f
sub esp, 0x38
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov edx, dword [esp + 0x48]
cmp edx, 1
jle 0x5a589a
lea eax, [edx - 1]
test eax, eax
ja 0x5a581d
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x5a585d
mov dword [esp + 0x24], eax
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x5e2160]
mov dword [esp + 0x10], ecx
call fcn.0044a1f0
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 + 0x24]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x44]
inc edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00464050
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
cmp dword [ebx + 0x64], 1
jge 0x5a58c5
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a58dd
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
test edx, edx
setne dl
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
movzx ecx, byte [esp + 0x40]
jmp 0x5a58fe
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
movzx ecx, byte [esp + 0x40]
mov ebx, edx
mov edx, 1
mov edi, edx
mov edx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov esi, dword [ebx + 0x60]
cmp edx, esi
jbe 0x5a5b35
movzx edx, byte [ebp + esi]
cmp dl, 0x30
jb 0x5a5944
cmp dl, 0x39
jbe 0x5a5934
cmp dl, 0x41
jb 0x5a5944
cmp dl, 0x5a
jbe 0x5a5934
cmp dl, 0x61
jb 0x5a593f
cmp dl, 0x7a
ja 0x5a5985
cmp dl, 0x25
je 0x5a59e7
jmp 0x5a59a8
cmp dl, 0x5f
je 0x5a59a8
cmp dl, 0x2d
je 0x5a59a8
cmp dl, 0x3b
je 0x5a59a8
cmp dl, 0x2f
je 0x5a59a8
cmp dl, 0x3f
je 0x5a59a8
cmp dl, 0x3a
je 0x5a59a8
cmp dl, 0x40
je 0x5a59a8
cmp dl, 0x26
je 0x5a59a8
cmp dl, 0x3d
je 0x5a59a8
cmp dl, 0x2b
je 0x5a59a8
cmp dl, 0x24
je 0x5a59a8
cmp dl, 0x2c
je 0x5a59a8
cmp dl, 0x2e
je 0x5a59a8
cmp dl, 0x21
je 0x5a59a8
cmp dl, 0x7e
je 0x5a59a8
cmp dl, 0x2a
je 0x5a59a8
cmp dl, 0x27
je 0x5a59a8
cmp dl, 0x28
je 0x5a59a8
cmp dl, 0x29
je 0x5a59a8
cmp dl, 0x5b
je 0x5a59a8
cmp dl, 0x5d
jne 0x5a59e2
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.0059f650
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 0x5a5a18
cmp dl, 0x25
jne 0x5a5a5a
mov dword [esp], ebx
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x10], ebp
lea esi, [esp + 0x2c]
mov dword [esp + 0x14], esi
call fcn.005a5b50
movzx eax, byte [esp + 0x18]
test al, al
je 0x5a5a51
mov edx, dword [esp + 0x3c]
cmp dword [edx + 0x64], 1
jge 0x5a58e6
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a5a48
mov edx, dword [esp + 0x3c]
jmp 0x5a58e6
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov byte [esp + 0x60], 0
add esp, 0x38
ret
xchg edi, eax
test al, al
xchg edi, eax
je 0x5a5a92
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x5c]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a5a84
mov dword [edi], eax
jmp 0x5a5a89
call fcn.00463730
mov byte [esp + 0x60], 1
add esp, 0x38
ret
nop
test cl, cl
je 0x5a5aa4
lea ecx, [0x61667a]
mov edx, 0x1e
jmp 0x5a5aaf
lea ecx, [0x610ba4]
mov edx, 0x13
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], edx
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5a5ac8
mov dword [ebx + 0x20], ecx
jmp 0x5a5ad6
lea edi, [ebx + 0x20]
mov edx, eax
mov eax, ecx
call fcn.00463730
mov eax, edx
mov dword [ebx + 0x28], eax
mov ecx, dword [esp + 0x54]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [esp + 0x58]
mov dword [ebx + 0x30], ecx
mov dword [ebx + 8], 0x1d
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a5b03
lea eax, [0x6158bb]
mov dword [ebx + 4], eax
jmp 0x5a5b11
lea edi, [ebx + 4]
lea eax, [0x6158bb]
call fcn.00463730
mov eax, dword [ebx + 0x88]
mov ecx, dword [ebx + 0x8c]
mov edx, dword [ebx + 0x84]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov byte [esp + 0x60], 0
add esp, 0x38
ret
mov eax, esi
mov ecx, edx
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.005a57d0