Function at 0x40e430
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 0x40e8dd
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x40e8dd
cmp eax, 0x29
jne 0x40e470
cmp dword [esi + 0x10], 0
jne 0x40e8dd
test dword [esi + 0x50], 0x10000000
je 0x40e8ea
jmp 0x40e870
cmp eax, 0x2e
jne 0x40e4c5
push 5
lea ecx, [esi + 0x24]
call fcn.0040e900
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e8be
cmp word [eax], 0x5c
jne 0x40e6a3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e6a3
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40e4bd
movzx edx, word [ecx]
cmp edx, 0x28
je 0x40e6a1
cmp edx, 0x29
je 0x40e6a1
test bl, 0x10
jmp 0x40e692
cmp eax, 0x5c
jne 0x40e5f9
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e511
cmp word [eax], 0x5c
jne 0x40e50c
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e50c
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40e4f8
movzx edx, word [ecx]
cmp edx, 0x28
je 0x40e50a
cmp edx, 0x29
je 0x40e50a
test bl, 0x10
jne 0x40e50c
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e50a
cmp edx, 0x7d
jne 0x40e50c
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
test byte [esi + 0x50], 0x80
je 0x40e5ed
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x40e586
push 4
lea ecx, [esi + 0x24]
call fcn.0040e900
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e57a
cmp word [eax], 0x5c
jne 0x40e575
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e575
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x40e561
movzx edx, word [ecx]
cmp edx, 0x28
je 0x40e573
cmp edx, 0x29
je 0x40e573
test bl, 0x10
jne 0x40e575
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e573
cmp edx, 0x7d
jne 0x40e575
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
jmp 0x40e8cf
cmp ecx, 0x42
jne 0x40e5ed
push 4
lea ecx, [esi + 0x24]
call fcn.0040e900
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e5e1
cmp word [eax], 0x5c
jne 0x40e5dc
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e5dc
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e5c8
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40e5da
cmp eax, 0x29
je 0x40e5da
mov eax, dword [esi]
test dl, 0x10
jne 0x40e5dc
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e5da
cmp edx, 0x7d
jne 0x40e5dc
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
jmp 0x40e8cf
mov ecx, esi
call fcn.0040f5b0
jmp 0x40e8c5
cmp eax, 0x5b
jne 0x40e6ad
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e647
cmp word [eax], 0x5c
jne 0x40e642
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e642
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e62e
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40e640
cmp eax, 0x29
je 0x40e640
mov eax, dword [esi]
test dl, 0x10
jne 0x40e642
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e640
cmp edx, 0x7d
jne 0x40e642
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
mov ecx, esi
call fcn.0040f4d0
cmp dword [esi + 0x4c], 0x5d
jne 0x40e8f8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e8be
cmp word [eax], 0x5c
jne 0x40e6a3
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e6a3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e68f
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40e6a1
cmp eax, 0x29
je 0x40e6a1
mov eax, dword [esi]
test dl, 0x10
jne 0x40e6a3
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e6a1
cmp edx, 0x7d
jne 0x40e6a3
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x40e8be
cmp eax, 0x28
jne 0x40e76e
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e6fb
cmp word [eax], 0x5c
jne 0x40e6f6
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e6f6
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e6e2
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40e6f4
cmp eax, 0x29
je 0x40e6f4
mov eax, dword [esi]
test dl, 0x10
jne 0x40e6f6
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e6f4
cmp edx, 0x7d
jne 0x40e6f6
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
mov ecx, esi
call fcn.0040f740
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x40e8ea
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x40e75a
cmp word [eax], 0x5c
jne 0x40e755
lea ecx, [eax + 2]
cmp ecx, edx
je 0x40e755
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x40e741
movzx eax, word [ecx]
cmp eax, 0x28
je 0x40e753
cmp eax, 0x29
je 0x40e753
mov eax, dword [esi]
test dl, 0x10
jne 0x40e755
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x40e753
cmp edx, 0x7d
jne 0x40e755
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0040d100
test bl, bl
je 0x40e8cf
jmp 0x40e8c5
cmp eax, 0x5e
jne 0x40e7ca
push 2
lea ecx, [esi + 0x24]
call fcn.0040e900
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40e7be
cmp word [eax], 0x5c
jne 0x40e7bb
add eax, 2
cmp eax, ecx
je 0x40e7bb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e7a7
movzx edx, word [eax]
cmp edx, 0x28
je 0x40e7b9
cmp edx, 0x29
je 0x40e7b9
test cl, 0x10
jne 0x40e7bb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40e7b9
cmp ecx, 0x7d
jne 0x40e7bb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040d100
jmp 0x40e8cf
cmp eax, 0x24
jne 0x40e826
push 3
lea ecx, [esi + 0x24]
call fcn.0040e900
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40e81a
cmp word [eax], 0x5c
jne 0x40e817
add eax, 2
cmp eax, ecx
je 0x40e817
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e803
movzx edx, word [eax]
cmp edx, 0x28
je 0x40e815
cmp edx, 0x29
je 0x40e815
test cl, 0x10
jne 0x40e817
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40e815
cmp ecx, 0x7d
jne 0x40e817
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040d100
jmp 0x40e8cf
cmp eax, 0x2a
je 0x40e8e3
cmp eax, 0x2b
je 0x40e8e3
cmp eax, 0x3f
je 0x40e8e3
cmp eax, 0x7b
je 0x40e8e3
cmp eax, 0x7d
jne 0x40e85e
test dword [esi + 0x50], 0x10000000
je 0x40e8f1
jmp 0x40e870
cmp eax, 0x5d
jne 0x40e870
test dword [esi + 0x50], 0x10000000
je 0x40e8f8
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0040fb10
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x40e8be
cmp word [eax], 0x5c
jne 0x40e8bb
add eax, 2
cmp eax, ecx
je 0x40e8bb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x40e8a7
movzx edx, word [eax]
cmp edx, 0x28
je 0x40e8b9
cmp edx, 0x29
je 0x40e8b9
test cl, 0x10
jne 0x40e8bb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x40e8b9
cmp ecx, 0x7d
jne 0x40e8bb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0040d100
mov ecx, esi
call fcn.0040f8e0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x40e446
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0040d0f0
push 5
call fcn.0040d0f0
push 6
call fcn.0040d0f0
push 4
call fcn.0040d0f0
int3