Function at 0x412b80
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor al, al
cmp dword [esi + 0x40], 0xffff
je 0x412e1b
push ebp
push ebx
mov ebp, 0x10000000
push edi
lea ebx, [ebx]
mov ecx, dword [esi + 0x40]
cmp ecx, 0x7c
je 0x412e18
cmp ecx, 0x29
jne 0x412bcf
cmp dword [esi + 0x10], 0
jne 0x412e18
test dword [esi + 0x44], ebp
jne 0x412bcf
push 5
call fcn.005536a7
add esp, 4
jmp 0x412e02
cmp ecx, 0x2e
jne 0x412c2f
push 5
lea ecx, [esi + 0x18]
call fcn.00409bd0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x412c23
cmp word [eax], 0x5c
jne 0x412c20
add eax, 2
cmp eax, ecx
je 0x412c09
test byte [esi + 0x44], 8
jne 0x412c09
movzx ecx, word [eax]
cmp cx, 0x28
je 0x412c1e
cmp cx, 0x29
je 0x412c1e
test byte [esi + 0x44], 0x10
jne 0x412c20
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x412c1e
cmp cx, 0x7d
jne 0x412c20
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
jmp 0x412e02
cmp ecx, 0x5c
jne 0x412d22
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x412c7d
cmp word [eax], 0x5c
jne 0x412c7a
add eax, 2
cmp eax, ecx
je 0x412c63
test byte [esi + 0x44], 8
jne 0x412c63
movzx ecx, word [eax]
cmp cx, 0x28
je 0x412c78
cmp cx, 0x29
je 0x412c78
test byte [esi + 0x44], 0x10
jne 0x412c7a
movzx ecx, word [eax]
cmp cx, 0x7b
je 0x412c78
cmp cx, 0x7d
jne 0x412c7a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
mov eax, dword [esi + 0x44]
and eax, 0x80
je 0x412ccb
cmp word [esi + 0x3e], 0x62
jne 0x412ccb
push 4
lea ecx, [esi + 0x18]
call fcn.00409bd0
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412cbf
cmp word [edi], 0x5c
jne 0x412cbc
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412cbc
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
jmp 0x412e09
test eax, eax
je 0x412d16
cmp word [esi + 0x3e], 0x42
jne 0x412d16
push 4
lea ecx, [esi + 0x18]
call fcn.00409bd0
mov eax, dword [esi + 0x1c]
or dword [eax + 8], 1
mov edi, dword [esi]
add eax, 8
cmp edi, dword [esi + 8]
je 0x412d0a
cmp word [edi], 0x5c
jne 0x412d07
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412d07
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
jmp 0x412e09
mov ecx, esi
call fcn.004109d0
jmp 0x412e02
cmp ecx, 0x5b
jne 0x412d8e
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412d47
cmp word [edi], 0x5c
jne 0x412d44
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412d44
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
mov ecx, esi
call fcn.00412ad0
cmp dword [esi + 0x40], 0x5d
je 0x412d65
push 4
call fcn.005536a7
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412d85
cmp word [edi], 0x5c
jne 0x412d82
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412d82
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
jmp 0x412e02
cmp ecx, 0x28
jne 0x412e1d
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412db7
cmp word [edi], 0x5c
jne 0x412db4
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412db4
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
mov ecx, esi
call fcn.0040cb50
cmp dword [esi + 0x40], 0x29
mov bl, al
je 0x412dd7
push 5
call fcn.005536a7
add esp, 4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412df7
cmp word [edi], 0x5c
jne 0x412df4
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412df4
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
test bl, bl
je 0x412e09
mov ecx, esi
call fcn.00410490
cmp dword [esi + 0x40], 0xffff
mov al, 1
jne 0x412ba0
pop edi
pop ebx
pop ebp
pop esi
ret
cmp ecx, 0x5e
jne 0x412e55
push 2
lea ecx, [esi + 0x18]
call fcn.00409bd0
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x412e4c
cmp word [edi], 0x5c
jne 0x412e49
mov ecx, esi
call fcn.00409ab0
test al, al
je 0x412e49
add edi, 2
mov dword [esi], edi
add dword [esi], 2
mov ecx, esi
call fcn.0040c590
jmp 0x412e09
cmp ecx, 0x24
jne 0x412e6d
push 3
lea ecx, [esi + 0x18]
call fcn.00409bd0
mov ecx, esi
call fcn.0040c990
jmp 0x412e09
cmp ecx, 0x2a
je 0x412ecc
cmp ecx, 0x2b
je 0x412ecc
cmp ecx, 0x3f
je 0x412ecc
cmp ecx, 0x7b
je 0x412ecc
cmp ecx, 0x7d
jne 0x412e9a
test dword [esi + 0x44], ebp
jne 0x412e9a
push 6
call fcn.005536a7
add esp, 4
jmp 0x412e02
cmp ecx, 0x5d
jne 0x412eb3
test dword [esi + 0x44], ebp
jne 0x412eb3
push 4
call fcn.005536a7
add esp, 4
jmp 0x412e02
movzx eax, word [esi + 0x3e]
push eax
lea ecx, [esi + 0x18]
call fcn.00410050
mov ecx, esi
call fcn.0040c990
jmp 0x412e02
push 0xa
call fcn.005536a7
add esp, 4
jmp 0x412e02