Function at 0x59b55c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
lea edi, [ebp - 0x34]
lea eax, [ebp - 0x24]
push eax
call fcn.005ab684
pop ecx
jmp 0x59b826
cmp dword [ebx + 0xac], 0
jne 0x59b6da
mov word [ebp - 0x44], 0x7b
mov dword [ebp - 0x40], 1
xor edx, edx
mov dword [ebp - 0x3c], edx
xor ecx, ecx
mov dword [ebp - 0x38], ecx
lea eax, [ebx + 0xb8]
mov dx, word [eax]
cmp dx, word [ebp - 0x44]
jne 0x59b5b8
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x40]
je 0x59b5bc
xor eax, eax
jmp 0x59b5c1
mov eax, 1
test eax, eax
jne 0x59b67a
mov word [ebp - 0x54], 0x3f
mov dword [ebp - 0x50], 1
xor edx, edx
mov dword [ebp - 0x4c], edx
xor ecx, ecx
mov dword [ebp - 0x48], ecx
lea eax, [ebx + 0xb8]
mov dx, word [eax]
cmp dx, word [ebp - 0x54]
jne 0x59b5f7
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x50]
je 0x59b5fb
xor eax, eax
jmp 0x59b600
mov eax, 1
test eax, eax
jne 0x59b67a
mov word [ebp - 0x64], 0x2a
mov dword [ebp - 0x60], 1
xor edx, edx
mov dword [ebp - 0x5c], edx
xor ecx, ecx
mov dword [ebp - 0x58], ecx
lea eax, [ebx + 0xb8]
mov dx, word [eax]
cmp dx, word [ebp - 0x64]
jne 0x59b632
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x60]
je 0x59b636
xor eax, eax
jmp 0x59b63b
mov eax, 1
test eax, eax
jne 0x59b67a
mov word [ebp - 0x74], 0x2b
mov dword [ebp - 0x70], 1
xor edx, edx
mov dword [ebp - 0x6c], edx
xor ecx, ecx
mov dword [ebp - 0x68], ecx
lea eax, [ebx + 0xb8]
mov dx, word [eax]
cmp dx, word [ebp - 0x74]
jne 0x59b66d
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x70]
je 0x59b671
xor eax, eax
jmp 0x59b676
mov eax, 1
test eax, eax
je 0x59b6af
cmp dword [ebp - 0x1c], 0
jne 0x59b863
mov dx, word [ebx + 0xa8]
mov word [ebp - 2], dx
push 1
push 1
lea ecx, [ebp - 2]
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.0059bc20
add esp, 0x10
push ebx
call fcn.005a88a8
pop ecx
jmp 0x59b863
mov dx, word [ebx + 0xa8]
mov word [ebp - 4], dx
push 1
push 1
lea ecx, [ebp - 4]
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.0059bc20
add esp, 0x10
push ebx
call fcn.005a88a8
pop ecx
jmp 0x59b826
cmp dword [ebx + 0xac], 1
jne 0x59b826
mov ax, word [ebx + 0xa8]
cmp ax, 0x29
je 0x59b863
cmp ax, 0x7c
je 0x59b863
cmp dword [ebp - 0x1c], 0
jg 0x59b863
cmp ax, 0x28
jne 0x59b731
push esi
push ebx
call fcn.0059be60
add esp, 8
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
jmp 0x59b8e4
cmp ax, 0x5b
je 0x59b761
cmp ax, 0x2e
je 0x59b761
cmp ax, 0x77
je 0x59b761
cmp ax, 0x57
je 0x59b761
cmp ax, 0x73
je 0x59b761
cmp ax, 0x53
je 0x59b761
cmp ax, 0x64
je 0x59b761
cmp ax, 0x44
jne 0x59b780
push esi
push ebx
call fcn.0059d800
add esp, 8
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
jmp 0x59b8e4
cmp ax, 0x5e
je 0x59b7b0
cmp ax, 0x24
je 0x59b7b0
cmp ax, 0x41
je 0x59b7b0
cmp ax, 0x5a
je 0x59b7b0
cmp ax, 0x7a
je 0x59b7b0
cmp ax, 0x62
je 0x59b7b0
cmp ax, 0x42
je 0x59b7b0
cmp ax, 0x47
jne 0x59b7cf
push esi
push ebx
call fcn.0059e58c
add esp, 8
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
jmp 0x59b8e4
cmp ax, 0x5c
je 0x59b7e1
cmp ax, 0x6b
je 0x59b7e1
cmp ax, 0x67
jne 0x59b800
push esi
push ebx
call fcn.0059ec84
add esp, 8
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
jmp 0x59b8e4
mov dx, word [ebx + 0xa8]
mov word [ebp - 6], dx
push 1
push 1
lea ecx, [ebp - 6]
push ecx
lea eax, [ebp - 0x24]
push eax
call fcn.0059bc20
add esp, 0x10
push ebx
call fcn.005a88a8
pop ecx
mov word [edi], 0
mov dword [edi + 4], 1
xor edx, edx
mov dword [edi + 8], edx
xor ecx, ecx
mov dword [edi + 0xc], ecx
lea eax, [ebx + 0xa8]
mov dx, word [eax]
cmp dx, word [edi]
jne 0x59b852
mov ecx, dword [eax + 4]
cmp ecx, dword [edi + 4]
je 0x59b856
xor eax, eax
jmp 0x59b85b
mov eax, 1
test eax, eax
je 0x59b57d
cmp dword [ebp - 0x1c], 0
jle 0x59b8c9
push 0x20
call fcn.0059a97c
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
je 0x59b89f
mov edx, dword [esi]
and edx, 8
push edx
mov ecx, dword [esi]
and ecx, 0x10
push ecx
push dword [ebp - 0x1c]
lea eax, [ebp - 0x24]
push eax
call fcn.005a0c24
pop ecx
push eax
push dword [ebp - 0x10]
call fcn.005a0dd0
add esp, 0x14
jmp 0x59b8a2
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
push dword [ebp - 0xc]
add ebx, 0x14
push ebx
call fcn.0059b9a8
add esp, 8
mov eax, dword [ebp - 0xc]
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
jmp 0x59b8e4
push 0
push ebx
call fcn.005aabe4
add esp, 8
push eax
push 2
lea edx, [ebp - 0x24]
push edx
call fcn.0059b9f4
add esp, 8
pop eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret