Function at 0x10036a20
Capabilities:
Parse credit card information

Disassembly:
test edi, edi
push ebp
mov ebp, dword [esp + 8]
jne 0x10036a2e
or eax, 0xffffffff
pop ebp
ret
push esi
mov esi, dword [edi]
push edi
push ebp
call fcn.10036000
add esp, 8
test eax, eax
jne 0x10036a5f
mov eax, dword [edi]
test eax, eax
je 0x10036a5f
mov al, byte [eax]
test al, al
je 0x10036c79
cmp al, 0x2f
je 0x10036c79
cmp al, 0x3f
je 0x10036c79
mov dword [edi], esi
mov al, byte [esi]
cmp al, 0x61
jl 0x10036a6f
cmp al, 0x7a
jle 0x10036b29
cmp al, 0x41
jl 0x10036a7b
cmp al, 0x5a
jle 0x10036b29
cmp al, 0x30
jl 0x10036a87
cmp al, 0x39
jle 0x10036b29
cmp al, 0x2d
je 0x10036b29
cmp al, 0x5f
je 0x10036b29
cmp al, 0x2e
je 0x10036b29
cmp al, 0x21
je 0x10036b29
cmp al, 0x7e
je 0x10036b29
cmp al, 0x2a
je 0x10036b29
cmp al, 0x27
je 0x10036b29
cmp al, 0x28
je 0x10036b29
cmp al, 0x29
je 0x10036b29
cmp al, 0x25
jne 0x10036b01
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x10036acc
cmp cl, 0x39
jle 0x10036ae0
cmp cl, 0x61
jl 0x10036ad6
cmp cl, 0x66
jle 0x10036ae0
cmp cl, 0x41
jl 0x10036b01
cmp cl, 0x46
jg 0x10036b01
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x10036aed
cmp cl, 0x39
jle 0x10036b29
cmp cl, 0x61
jl 0x10036af7
cmp cl, 0x66
jle 0x10036b29
cmp cl, 0x41
jl 0x10036b01
cmp cl, 0x46
jle 0x10036b29
cmp al, 0x24
je 0x10036b29
cmp al, 0x2c
je 0x10036b29
cmp al, 0x3b
je 0x10036b29
cmp al, 0x3a
je 0x10036b29
cmp al, 0x40
je 0x10036b29
cmp al, 0x26
je 0x10036b29
cmp al, 0x3d
je 0x10036b29
cmp al, 0x2b
je 0x10036b29
pop esi
mov eax, 5
pop ebp
ret
cmp al, 0x25
jne 0x10036b32
add esi, 3
jmp 0x10036b33
inc esi
mov al, byte [esi]
cmp al, 0x61
jl 0x10036b3d
cmp al, 0x7a
jle 0x10036b29
cmp al, 0x41
jl 0x10036b45
cmp al, 0x5a
jle 0x10036b29
cmp al, 0x30
jl 0x10036b4d
cmp al, 0x39
jle 0x10036b29
cmp al, 0x2d
je 0x10036b29
cmp al, 0x5f
je 0x10036b29
cmp al, 0x2e
je 0x10036b29
cmp al, 0x21
je 0x10036b29
cmp al, 0x7e
je 0x10036b29
cmp al, 0x2a
je 0x10036b29
cmp al, 0x27
je 0x10036b29
cmp al, 0x28
je 0x10036b29
cmp al, 0x29
je 0x10036b29
cmp al, 0x25
jne 0x10036bbf
mov cl, byte [esi + 1]
cmp cl, 0x30
jl 0x10036b82
cmp cl, 0x39
jle 0x10036b96
cmp cl, 0x61
jl 0x10036b8c
cmp cl, 0x66
jle 0x10036b96
cmp cl, 0x41
jl 0x10036bbf
cmp cl, 0x46
jg 0x10036bbf
mov cl, byte [esi + 2]
cmp cl, 0x30
jl 0x10036ba3
cmp cl, 0x39
jle 0x10036b29
cmp cl, 0x61
jl 0x10036bb1
cmp cl, 0x66
jle 0x10036b29
cmp cl, 0x41
jl 0x10036bbf
cmp cl, 0x46
jle 0x10036b29
cmp al, 0x24
je 0x10036b29
cmp al, 0x2c
je 0x10036b29
cmp al, 0x3b
je 0x10036b29
cmp al, 0x3a
je 0x10036b29
cmp al, 0x40
je 0x10036b29
cmp al, 0x26
je 0x10036b29
cmp al, 0x3d
je 0x10036b29
cmp al, 0x2b
je 0x10036b29
test ebp, ebp
je 0x10036c77
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10036c14
push eax
call dword [0x1013f8a8]
add esp, 4
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [ebp + 0xc], 0
je 0x10036c2c
push eax
call dword [0x1013f8a8]
add esp, 4
mov eax, dword [ebp + 8]
test eax, eax
mov dword [ebp + 0x10], 0
je 0x10036c44
push eax
call dword [0x1013f8a8]
add esp, 4
test byte [ebp + 0x24], 2
mov eax, dword [edi]
je 0x10036c64
mov ecx, esi
sub ecx, eax
push ecx
push eax
call fcn.1002b2e0
add esp, 8
mov dword [ebp + 8], eax
mov dword [edi], esi
pop esi
xor eax, eax
pop ebp
ret
mov edx, esi
push 0
sub edx, eax
push edx
push eax
call fcn.100356e0
add esp, 0xc
mov dword [ebp + 8], eax
mov dword [edi], esi
pop esi
xor eax, eax
pop ebp
ret