Function at 0x59eae0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x68cc00]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x28], edi
call fcn.004349e0
mov edx, edi
test edx, edx
je 0x59eb2b
mov esi, dword [edx]
test esi, esi
je 0x59eb2b
nop
mov al, byte [esi]
cmp al, 0x20
je 0x59eb22
cmp al, 9
je 0x59eb22
cmp al, 0xd
je 0x59eb22
cmp al, 0xa
jne 0x59eb25
inc esi
jmp 0x59eb10
test al, al
jne 0x59eb41
mov dword [edx], esi
pop edi
pop esi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
cmp al, 0x3c
jne 0x59eb60
lea eax, [esi + 1]
pop edi
pop esi
mov dword [edx], eax
mov eax, 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
cmp al, 0x3e
jne 0x59eb7f
lea eax, [esi + 1]
pop edi
pop esi
mov dword [edx], eax
mov eax, 5
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
cmp al, 0x2c
je 0x59edda
cmp al, 0x3b
je 0x59edda
lea edi, [esi + 1]
cmp al, 0x3d
jne 0x59ec31
cmp byte [edi], 0x3f
jne 0x59ec31
mov al, byte [esi + 2]
mov edi, esi
add esi, 2
test al, al
je 0x59ebbb
nop
inc esi
cmp al, 0x3f
mov al, byte [esi]
je 0x59ebd3
test al, al
jne 0x59ebb0
pop edi
mov dword [edx], esi
mov eax, 8
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
cmp al, 0x71
je 0x59ebe3
cmp al, 0x51
je 0x59ebe3
cmp al, 0x62
je 0x59ebe3
cmp al, 0x42
jne 0x59ebbb
mov al, byte [esi + 1]
inc esi
cmp al, 0x3f
jne 0x59ebbb
nop dword [eax + eax]
lea ecx, [esi]
lea esi, [ecx + 1]
cmp al, 0x3f
jne 0x59ebfe
cmp byte [esi], 0x3d
je 0x59ec06
mov al, byte [esi]
test al, al
jne 0x59ebf0
jmp 0x59ebbb
lea esi, [ecx + 2]
mov ecx, ebx
mov eax, esi
sub eax, edi
push eax
push edi
call fcn.0042ba00
mov edi, dword [ebp - 0x28]
mov eax, 3
mov dword [edi], esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp al, 0x22
jne 0x59ed6e
mov al, byte [edi]
cmp al, 0x22
je 0x59ec71
test al, al
je 0x59ec71
cmp al, 0x5c
jne 0x59ec51
mov al, byte [edi + 1]
inc edi
test al, al
je 0x59ec71
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x59ec69
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba00
xor ecx, ecx
mov al, byte [edi + 1]
inc edi
cmp al, 0x22
jne 0x59ec41
test ecx, ecx
je 0x59ec81
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba00
cmp byte [edi], 0
lea esi, [edi + 1]
push 0x5cdc90
cmove esi, edi
mov ecx, ebx
mov edi, dword [ebp - 0x28]
mov dword [edi], esi
call fcn.0042c4f0
test al, al
je 0x59ed58
push str._PN
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push 0x6322dc
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push 0x632318
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push str._OU
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push 0x632340
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push 0x65ab98
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push 0x6322fc
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push str._ADMD
mov ecx, ebx
call fcn.0042c4f0
test al, al
jne 0x59ed37
push str._PRMD
mov ecx, ebx
call fcn.0042c4f0
test al, al
je 0x59ed58
cmp byte [esi], 0x40
jne 0x59ed58
push 0x5d0220
mov ecx, ebx
call fcn.004306b0
push 0x5d0220
mov ecx, ebx
call fcn.0042ade0
xor ecx, ecx
jmp 0x59ed70
pop edi
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
mov edi, edx
mov al, byte [esi]
cmp al, 0x20
je 0x59edc2
cmp al, 9
je 0x59edb2
test al, al
je 0x59edb2
cmp al, 0x3e
je 0x59edb2
cmp al, 0x3c
je 0x59edb2
cmp al, 0x22
je 0x59edb2
cmp al, 0x2c
je 0x59edb2
cmp al, 0x3b
je 0x59edb2
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x59edaa
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba00
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x59ed76
test ecx, ecx
je 0x59edc2
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba00
mov dword [edi], esi
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af5a8
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
lea eax, [esi + 1]
pop edi
pop esi
mov dword [edx], eax
xor ecx, ebp
mov eax, 6
pop ebx
call fcn.005af5a8
mov esp, ebp
pop ebp
ret