Function at 0x435ec0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor al, al
cmp dword [edi + 0x40], 0xffffffff
je 0x4360e4
mov ecx, dword [edi + 0x40]
cmp ecx, 0x7c
je 0x4360e4
xor ebx, ebx
cmp ecx, 0x29
jne 0x435f06
cmp dword [edi + 0x10], ebx
jne 0x4360e4
mov eax, 0x10000000
test dword [edi + 0x44], eax
jne 0x435f0b
push 5
call fcn.004f2c15
add esp, 4
jmp 0x4360d1
mov eax, 0x10000000
cmp ecx, 0x2e
jne 0x435fa8
push 0x14
call fcn.00501e17
add esp, 4
cmp eax, ebx
je 0x435f3a
mov dword [eax], 0x54f2e8
mov dword [eax + 4], 5
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
jmp 0x435f3c
xor eax, eax
mov ecx, dword [edi + 0x1c]
mov dword [eax + 0x10], ecx
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + 0xc]
cmp ecx, ebx
je 0x435f58
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x10], eax
mov ecx, dword [edi + 0x1c]
mov dword [ecx + 0xc], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x435f9c
cmp byte [eax], 0x5c
jne 0x435f9a
inc eax
cmp eax, ecx
je 0x435f86
test byte [edi + 0x44], 8
jne 0x435f86
mov cl, byte [eax]
cmp cl, 0x28
je 0x435f98
cmp cl, 0x29
je 0x435f98
test byte [edi + 0x44], 0x10
jne 0x435f9a
mov cl, byte [eax]
cmp cl, 0x7b
je 0x435f98
cmp cl, 0x7d
jne 0x435f9a
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00434fb0
jmp 0x4360d1
cmp ecx, 0x5c
jne 0x43604f
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x435fec
cmp byte [eax], 0x5c
jne 0x435fea
inc eax
cmp eax, ecx
je 0x435fd6
test byte [edi + 0x44], 8
jne 0x435fd6
mov cl, byte [eax]
cmp cl, 0x28
je 0x435fe8
cmp cl, 0x29
je 0x435fe8
test byte [edi + 0x44], 0x10
jne 0x435fea
mov cl, byte [eax]
cmp cl, 0x7b
je 0x435fe8
cmp cl, 0x7d
jne 0x435fea
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00434fb0
mov eax, dword [edi + 0x44]
and eax, 0x80
je 0x436019
cmp byte [edi + 0x3e], 0x62
jne 0x436019
push 4
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, edi
call fcn.00435e70
jmp 0x4360d8
cmp eax, ebx
je 0x436043
cmp byte [edi + 0x3e], 0x42
jne 0x436043
push 4
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, dword [edi + 0x1c]
or dword [eax + 8], 1
add eax, 8
mov eax, edi
call fcn.00435e70
jmp 0x4360d8
mov eax, edi
call fcn.00436cc0
jmp 0x4360d1
cmp ecx, 0x5b
jne 0x4360ab
mov eax, dword [edi]
mov ecx, dword [edi + 8]
cmp eax, ecx
je 0x43608f
cmp byte [eax], 0x5c
jne 0x43608d
inc eax
cmp eax, ecx
je 0x436079
test byte [edi + 0x44], 8
jne 0x436079
mov cl, byte [eax]
cmp cl, 0x28
je 0x43608b
cmp cl, 0x29
je 0x43608b
test byte [edi + 0x44], 0x10
jne 0x43608d
mov cl, byte [eax]
cmp cl, 0x7b
je 0x43608b
cmp cl, 0x7d
jne 0x43608d
mov dword [edi], eax
inc dword [edi]
mov esi, edi
call fcn.00434fb0
call fcn.00436c50
push 0x5d
mov ecx, 4
mov eax, edi
call fcn.00436bf0
jmp 0x4360d1
cmp ecx, 0x28
jne 0x4360e8
mov eax, edi
call fcn.00435e70
push edi
call fcn.00436d80
mov bl, al
push 0x29
mov ecx, 5
mov eax, edi
call fcn.00436bf0
test bl, bl
je 0x4360d8
mov eax, edi
call fcn.00436e70
cmp dword [edi + 0x40], 0xffffffff
mov al, 1
jne 0x435ed1
pop edi
pop esi
pop ebx
ret
cmp ecx, 0x5e
jne 0x436100
push 2
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, edi
call fcn.00435e70
jmp 0x4360d8
cmp ecx, 0x24
jne 0x436118
push 3
lea esi, [edi + 0x18]
call fcn.00465d40
mov eax, edi
call fcn.00435e70
jmp 0x4360d8
cmp ecx, 0x2a
je 0x436174
cmp ecx, 0x2b
je 0x436174
cmp ecx, 0x3f
je 0x436174
cmp ecx, 0x7b
je 0x436174
cmp ecx, 0x7d
jne 0x436142
test dword [edi + 0x44], eax
jne 0x436142
push 6
call fcn.004f2c15
add esp, 4
jmp 0x4360d1
cmp ecx, 0x5d
jne 0x43615b
test dword [edi + 0x44], eax
jne 0x43615b
push 4
call fcn.004f2c15
add esp, 4
jmp 0x4360d1
movzx edx, byte [edi + 0x3e]
push edx
lea eax, [edi + 0x18]
call fcn.00436fa0
mov eax, edi
call fcn.00435e70
jmp 0x4360d1
push 0xa
call fcn.004f2c15
add esp, 4
jmp 0x4360d1