Function at 0x59be00
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59c161
sub esp, 0x3c
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x4c]
cmp edx, 1
jle 0x59bec8
lea eax, [edx - 1]
test eax, eax
ja 0x59be4b
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x59be8b
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, [0x5ddd80]
mov dword [esp + 0x10], ecx
call fcn.0044db70
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 + 0x2c], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x48]
inc edx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00468d00
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x64]
test ebp, ebp
jg 0x59bef4
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59bf0c
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 0x59bf2d
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 0x59c159
mov ecx, dword [ebx + 0x54]
movzx ecx, byte [ecx + edx]
cmp cl, 0x30
jb 0x59bf74
cmp cl, 0x39
jbe 0x59bf64
cmp cl, 0x41
jb 0x59bf74
cmp cl, 0x5a
jbe 0x59bf64
cmp cl, 0x61
jb 0x59bf6f
cmp cl, 0x7a
ja 0x59bfb5
cmp cl, 0x25
je 0x59c017
jmp 0x59bfd8
cmp cl, 0x5f
je 0x59bfd8
cmp cl, 0x2d
je 0x59bfd8
cmp cl, 0x3b
je 0x59bfd8
cmp cl, 0x2f
je 0x59bfd8
cmp cl, 0x3f
je 0x59bfd8
cmp cl, 0x3a
je 0x59bfd8
cmp cl, 0x40
je 0x59bfd8
cmp cl, 0x26
je 0x59bfd8
cmp cl, 0x3d
je 0x59bfd8
cmp cl, 0x2b
je 0x59bfd8
cmp cl, 0x24
je 0x59bfd8
cmp cl, 0x2c
je 0x59bfd8
cmp cl, 0x2e
je 0x59bfd8
cmp cl, 0x21
je 0x59bfd8
cmp cl, 0x7e
je 0x59bfd8
cmp cl, 0x2a
je 0x59bfd8
cmp cl, 0x27
je 0x59bfd8
cmp cl, 0x28
je 0x59bfd8
cmp cl, 0x29
je 0x59bfd8
cmp cl, 0x5b
je 0x59bfd8
cmp cl, 0x5d
jne 0x59c012
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.00595ed0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
jmp 0x59c040
cmp cl, 0x25
jne 0x59c083
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 + 0x30]
mov dword [esp + 0x14], ecx
call fcn.0059c170
movzx eax, byte [esp + 0x18]
test al, al
je 0x59c07a
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x59bf15
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59c071
mov edx, dword [esp + 0x40]
jmp 0x59bf15
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 0x59c0c3
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59c0b8
call fcn.00468410
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 0x59c0d5
mov eax, 0x1e
lea ecx, [0x615028]
jmp 0x59c0e0
mov eax, 0x13
lea ecx, [0x60f6c8]
nop
mov dword [ebx], 3
mov dword [ebx + 0x24], eax
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x59c105
mov eax, edi
call fcn.00468410
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 [0x7c3fa0]
test eax, eax
je 0x59c12c
mov eax, dword [ebx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x614862]
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.00468460
nop
call fcn.00467000
jmp fcn.0059be00