Function at 0x413a70
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x413deb
cmp eax, 0x7c
je 0x413deb
cmp eax, 0x29
jne 0x413aad
cmp dword [esi + 0x10], 0
jne 0x413deb
test dword [esi + 0x50], 0x10000000
je 0x413df8
jmp 0x413d7c
cmp eax, 0x2e
jne 0x413ac1
push 5
lea ecx, [esi + 0x24]
call fcn.00413e10
jmp 0x413d89
cmp eax, 0x5c
jne 0x413b9d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x413b10
cmp word [eax], 0x5c
jne 0x413b0b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413b09
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413af7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413b0b
cmp edi, 0x29
je 0x413b0b
test dl, 0x10
jne 0x413b09
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413b0b
cmp ecx, 0x7d
je 0x413b0b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
test byte [esi + 0x50], 0x80
je 0x413b91
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x413b79
push 4
lea ecx, [esi + 0x24]
call fcn.00413e10
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x413d26
cmp word [eax], 0x5c
jne 0x413d21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413d1f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x413b71
movzx edx, word [ecx]
cmp edx, 0x28
je 0x413d21
cmp edx, 0x29
je 0x413d21
test bl, 0x10
jmp 0x413d10
cmp eax, 0x42
jne 0x413b91
push 4
lea ecx, [esi + 0x24]
call fcn.00413e10
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x413b30
mov ecx, esi
call fcn.004147f0
jmp 0x413dd6
cmp eax, 0x5b
jne 0x413c05
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x413be8
cmp word [eax], 0x5c
jne 0x413be3
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413be1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413bcf
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413be3
cmp edi, 0x29
je 0x413be3
test dl, 0x10
jne 0x413be1
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413be3
cmp ecx, 0x7d
je 0x413be3
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
mov ecx, esi
call fcn.00414710
cmp dword [esi + 0x4c], 0x5d
jne 0x413dff
jmp 0x413d89
cmp eax, 0x28
jne 0x413cc8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x413c54
cmp word [eax], 0x5c
jne 0x413c4f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413c4d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413c3b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413c4f
cmp edi, 0x29
je 0x413c4f
test dl, 0x10
jne 0x413c4d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413c4f
cmp ecx, 0x7d
je 0x413c4f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
mov ecx, esi
call fcn.00414980
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x413df8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x413cb4
cmp word [eax], 0x5c
jne 0x413caf
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413cad
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413c9b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413caf
cmp edi, 0x29
je 0x413caf
test dl, 0x10
jne 0x413cad
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413caf
cmp ecx, 0x7d
je 0x413caf
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
test bl, bl
je 0x413ddd
jmp 0x413dd6
cmp eax, 0x5e
jne 0x413cd1
push 2
jmp 0x413cd8
cmp eax, 0x24
jne 0x413d32
push 3
lea ecx, [esi + 0x24]
call fcn.00413e10
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x413d26
cmp word [eax], 0x5c
jne 0x413d21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413d1f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413d0d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413d21
cmp edi, 0x29
je 0x413d21
test dl, 0x10
jne 0x413d1f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413d21
cmp ecx, 0x7d
je 0x413d21
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
jmp 0x413ddd
cmp eax, 0x2a
je 0x413df1
cmp eax, 0x2b
je 0x413df1
cmp eax, 0x3f
je 0x413df1
cmp eax, 0x7b
je 0x413df1
cmp eax, 0x7d
jne 0x413d6a
test dword [esi + 0x50], 0x10000000
je 0x413e06
jmp 0x413d7c
cmp eax, 0x5d
jne 0x413d7c
test dword [esi + 0x50], 0x10000000
je 0x413dff
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00414d60
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x413dcf
cmp word [eax], 0x5c
jne 0x413dca
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x413dc8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x413db6
movzx edi, word [ecx]
cmp edi, 0x28
je 0x413dca
cmp edi, 0x29
je 0x413dca
test dl, 0x10
jne 0x413dc8
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x413dca
cmp ecx, 0x7d
je 0x413dca
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00412a20
mov ecx, esi
call fcn.00414b20
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x413a83
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00412a10
push 5
call fcn.00412a10
push 4
call fcn.00412a10
push 6
call fcn.00412a10
int3