Function at 0x5a3220
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff90
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
lea edi, [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
call fcn.005a22c4
pop ecx
jmp 0x5a34ff
cmp dword [ebx + 0xac], 0
jne 0x5a338a
mov byte [ebp - 0x40], 0x7b
mov dword [ebp - 0x3c], 1
xor edx, edx
mov dword [ebp - 0x38], edx
xor ecx, ecx
mov dword [ebp - 0x34], ecx
lea eax, [ebx + 0xb8]
mov dl, byte [eax]
cmp dl, byte [ebp - 0x40]
jne 0x5a3278
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x3c]
je 0x5a327c
xor eax, eax
jmp 0x5a3281
mov eax, 1
test eax, eax
jne 0x5a332e
mov byte [ebp - 0x50], 0x3f
mov dword [ebp - 0x4c], 1
xor edx, edx
mov dword [ebp - 0x48], edx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
lea eax, [ebx + 0xb8]
mov dl, byte [eax]
cmp dl, byte [ebp - 0x50]
jne 0x5a32b3
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x4c]
je 0x5a32b7
xor eax, eax
jmp 0x5a32bc
mov eax, 1
test eax, eax
jne 0x5a332e
mov byte [ebp - 0x60], 0x2a
mov dword [ebp - 0x5c], 1
xor edx, edx
mov dword [ebp - 0x58], edx
xor ecx, ecx
mov dword [ebp - 0x54], ecx
lea eax, [ebx + 0xb8]
mov dl, byte [eax]
cmp dl, byte [ebp - 0x60]
jne 0x5a32ea
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x5c]
je 0x5a32ee
xor eax, eax
jmp 0x5a32f3
mov eax, 1
test eax, eax
jne 0x5a332e
mov byte [ebp - 0x70], 0x2b
mov dword [ebp - 0x6c], 1
xor edx, edx
mov dword [ebp - 0x68], edx
xor ecx, ecx
mov dword [ebp - 0x64], ecx
lea eax, [ebx + 0xb8]
mov dl, byte [eax]
cmp dl, byte [ebp - 0x70]
jne 0x5a3321
mov ecx, dword [eax + 4]
cmp ecx, dword [ebp - 0x6c]
je 0x5a3325
xor eax, eax
jmp 0x5a332a
mov eax, 1
test eax, eax
je 0x5a3361
cmp dword [ebp - 0x18], 0
jne 0x5a3538
mov dl, byte [ebx + 0xa8]
mov byte [ebp - 1], dl
push 1
push 1
lea ecx, [ebp - 1]
push ecx
lea eax, [ebp - 0x20]
push eax
call fcn.005aa780
add esp, 0x10
push ebx
call fcn.0059ef50
pop ecx
jmp 0x5a3538
mov dl, byte [ebx + 0xa8]
mov byte [ebp - 2], dl
push 1
push 1
lea ecx, [ebp - 2]
push ecx
lea eax, [ebp - 0x20]
push eax
call fcn.005aa780
add esp, 0x10
push ebx
call fcn.0059ef50
pop ecx
jmp 0x5a34ff
cmp dword [ebx + 0xac], 1
jne 0x5a34ff
mov al, byte [ebx + 0xa8]
movsx edx, al
cmp edx, 0x29
je 0x5a3538
movsx ecx, al
cmp ecx, 0x7c
je 0x5a3538
cmp dword [ebp - 0x18], 0
jg 0x5a3538
movsx edx, al
cmp edx, 0x28
jne 0x5a33e6
push esi
push ebx
call fcn.005a3744
add esp, 8
push eax
push 2
lea eax, [ebp - 0x20]
push eax
call fcn.005aa3f8
add esp, 8
pop eax
jmp 0x5a35b9
movsx edx, al
cmp edx, 0x5b
je 0x5a3426
movsx ecx, al
cmp ecx, 0x2e
je 0x5a3426
movsx edx, al
cmp edx, 0x77
je 0x5a3426
movsx ecx, al
cmp ecx, 0x57
je 0x5a3426
movsx edx, al
cmp edx, 0x73
je 0x5a3426
movsx ecx, al
cmp ecx, 0x53
je 0x5a3426
movsx edx, al
cmp edx, 0x64
je 0x5a3426
movsx ecx, al
cmp ecx, 0x44
jne 0x5a3445
push esi
push ebx
call fcn.005a6dcc
add esp, 8
push eax
push 2
lea eax, [ebp - 0x20]
push eax
call fcn.005aa3f8
add esp, 8
pop eax
jmp 0x5a35b9
movsx edx, al
cmp edx, 0x5e
je 0x5a3485
movsx ecx, al
cmp ecx, 0x24
je 0x5a3485
movsx edx, al
cmp edx, 0x41
je 0x5a3485
movsx ecx, al
cmp ecx, 0x5a
je 0x5a3485
movsx edx, al
cmp edx, 0x7a
je 0x5a3485
movsx ecx, al
cmp ecx, 0x62
je 0x5a3485
movsx edx, al
cmp edx, 0x42
je 0x5a3485
movsx ecx, al
cmp ecx, 0x47
jne 0x5a34a4
push esi
push ebx
call fcn.005a7c20
add esp, 8
push eax
push 2
lea eax, [ebp - 0x20]
push eax
call fcn.005aa3f8
add esp, 8
pop eax
jmp 0x5a35b9
movsx edx, al
cmp edx, 0x5c
je 0x5a34bc
movsx ecx, al
cmp ecx, 0x6b
je 0x5a34bc
movsx eax, al
cmp eax, 0x67
jne 0x5a34db
push esi
push ebx
call fcn.005a80dc
add esp, 8
push eax
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.005aa3f8
add esp, 8
pop eax
jmp 0x5a35b9
mov dl, byte [ebx + 0xa8]
mov byte [ebp - 3], dl
push 1
push 1
lea ecx, [ebp - 3]
push ecx
lea eax, [ebp - 0x20]
push eax
call fcn.005aa780
add esp, 0x10
push ebx
call fcn.0059ef50
pop ecx
mov byte [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 dl, byte [eax]
cmp dl, byte [edi]
jne 0x5a3527
mov ecx, dword [eax + 4]
cmp ecx, dword [edi + 4]
je 0x5a352b
xor eax, eax
jmp 0x5a3530
mov eax, 1
test eax, eax
je 0x5a3241
cmp dword [ebp - 0x18], 0
jle 0x5a359e
push 0x20
call fcn.0059a97c
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
je 0x5a3574
mov edx, dword [esi]
and edx, 8
push edx
mov ecx, dword [esi]
and ecx, 0x10
push ecx
push dword [ebp - 0x18]
lea eax, [ebp - 0x20]
push eax
call fcn.005aa93c
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.005a8870
add esp, 0x14
jmp 0x5a3577
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
push dword [ebp - 8]
add ebx, 0x14
push ebx
call fcn.0059b9a8
add esp, 8
mov eax, dword [ebp - 8]
push eax
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.005aa3f8
add esp, 8
pop eax
jmp 0x5a35b9
push 0
push ebx
call fcn.005a1564
add esp, 8
push eax
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.005aa3f8
add esp, 8
pop eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret