Function at 0x59eb50
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.00434a50
mov edx, edi
test edx, edx
je 0x59eb9b
mov esi, dword [edx]
test esi, esi
je 0x59eb9b
nop
mov al, byte [esi]
cmp al, 0x20
je 0x59eb92
cmp al, 9
je 0x59eb92
cmp al, 0xd
je 0x59eb92
cmp al, 0xa
jne 0x59eb95
inc esi
jmp 0x59eb80
test al, al
jne 0x59ebb1
mov dword [edx], esi
pop edi
pop esi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af618
mov esp, ebp
pop ebp
ret
cmp al, 0x3c
jne 0x59ebd0
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.005af618
mov esp, ebp
pop ebp
ret
cmp al, 0x3e
jne 0x59ebef
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.005af618
mov esp, ebp
pop ebp
ret
cmp al, 0x2c
je 0x59ee4a
cmp al, 0x3b
je 0x59ee4a
lea edi, [esi + 1]
cmp al, 0x3d
jne 0x59eca1
cmp byte [edi], 0x3f
jne 0x59eca1
mov al, byte [esi + 2]
mov edi, esi
add esi, 2
test al, al
je 0x59ec2b
nop
inc esi
cmp al, 0x3f
mov al, byte [esi]
je 0x59ec43
test al, al
jne 0x59ec20
pop edi
mov dword [edx], esi
mov eax, 8
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af618
mov esp, ebp
pop ebp
ret
cmp al, 0x71
je 0x59ec53
cmp al, 0x51
je 0x59ec53
cmp al, 0x62
je 0x59ec53
cmp al, 0x42
jne 0x59ec2b
mov al, byte [esi + 1]
inc esi
cmp al, 0x3f
jne 0x59ec2b
nop dword [eax + eax]
lea ecx, [esi]
lea esi, [ecx + 1]
cmp al, 0x3f
jne 0x59ec6e
cmp byte [esi], 0x3d
je 0x59ec76
mov al, byte [esi]
test al, al
jne 0x59ec60
jmp 0x59ec2b
lea esi, [ecx + 2]
mov ecx, ebx
mov eax, esi
sub eax, edi
push eax
push edi
call fcn.0042ba70
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.005af618
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp al, 0x22
jne 0x59edde
mov al, byte [edi]
cmp al, 0x22
je 0x59ece1
test al, al
je 0x59ece1
cmp al, 0x5c
jne 0x59ecc1
mov al, byte [edi + 1]
inc edi
test al, al
je 0x59ece1
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x59ecd9
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba70
xor ecx, ecx
mov al, byte [edi + 1]
inc edi
cmp al, 0x22
jne 0x59ecb1
test ecx, ecx
je 0x59ecf1
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba70
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.0042c560
test al, al
je 0x59edc8
push str._PN
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push 0x6322dc
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push 0x632318
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push str._OU
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push 0x632340
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push 0x65ab98
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push 0x6322fc
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push str._ADMD
mov ecx, ebx
call fcn.0042c560
test al, al
jne 0x59eda7
push str._PRMD
mov ecx, ebx
call fcn.0042c560
test al, al
je 0x59edc8
cmp byte [esi], 0x40
jne 0x59edc8
push 0x5d0220
mov ecx, ebx
call fcn.00430720
push 0x5d0220
mov ecx, ebx
call fcn.0042ae50
xor ecx, ecx
jmp 0x59ede0
pop edi
pop esi
mov eax, 2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af618
mov esp, ebp
pop ebp
ret
mov edi, edx
mov al, byte [esi]
cmp al, 0x20
je 0x59ee32
cmp al, 9
je 0x59ee22
test al, al
je 0x59ee22
cmp al, 0x3e
je 0x59ee22
cmp al, 0x3c
je 0x59ee22
cmp al, 0x22
je 0x59ee22
cmp al, 0x2c
je 0x59ee22
cmp al, 0x3b
je 0x59ee22
mov byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x20
jne 0x59ee1a
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba70
xor ecx, ecx
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x59ede6
test ecx, ecx
je 0x59ee32
push ecx
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.0042ba70
mov dword [edi], esi
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005af618
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.005af618
mov esp, ebp
pop ebp
ret