Function at 0x4184f0
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 0x418957
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x418957
cmp eax, 0x29
jne 0x418530
cmp dword [esi + 0x10], 0
jne 0x418957
test dword [esi + 0x50], 0x10000000
je 0x418964
jmp 0x4188f0
cmp eax, 0x2e
jne 0x418583
push 5
lea ecx, [esi + 0x24]
call fcn.00418980
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x418938
cmp byte [eax], 0x5c
jne 0x41873f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41873f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x41857b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x41873d
cmp dl, 0x29
je 0x41873d
test bl, 0x10
jmp 0x41872f
cmp eax, 0x5c
jne 0x4186a1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4185ca
cmp byte [eax], 0x5c
jne 0x4185c7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4185c7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4185b4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x4185c5
cmp dl, 0x29
je 0x4185c5
test bl, 0x10
jne 0x4185c7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4185c5
cmp dl, 0x7d
jne 0x4185c7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
test byte [esi + 0x50], 0x80
je 0x418695
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x418636
push 4
lea ecx, [esi + 0x24]
call fcn.00418980
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41862a
cmp byte [eax], 0x5c
jne 0x418627
lea ecx, [eax + 1]
cmp ecx, edx
je 0x418627
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x418614
mov dl, byte [ecx]
cmp dl, 0x28
je 0x418625
cmp dl, 0x29
je 0x418625
test bl, 0x10
jne 0x418627
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x418625
cmp dl, 0x7d
jne 0x418627
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
jmp 0x418949
cmp al, 0x42
jne 0x418695
push 4
lea ecx, [esi + 0x24]
call fcn.00418980
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x418689
cmp byte [eax], 0x5c
jne 0x418686
lea ecx, [eax + 1]
cmp ecx, edx
je 0x418686
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x418673
mov al, byte [ecx]
cmp al, 0x28
je 0x418684
cmp al, 0x29
je 0x418684
mov eax, dword [esi]
test dl, 0x10
jne 0x418686
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x418684
cmp dl, 0x7d
jne 0x418686
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
jmp 0x418949
mov ecx, esi
call fcn.00418f00
jmp 0x41893f
cmp eax, 0x5b
jne 0x418747
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4186e8
cmp byte [eax], 0x5c
jne 0x4186e5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4186e5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4186d2
mov al, byte [ecx]
cmp al, 0x28
je 0x4186e3
cmp al, 0x29
je 0x4186e3
mov eax, dword [esi]
test dl, 0x10
jne 0x4186e5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4186e3
cmp dl, 0x7d
jne 0x4186e5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
mov ecx, esi
call fcn.00418dd0
cmp dword [esi + 0x4c], 0x5d
jne 0x418972
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x418938
cmp byte [eax], 0x5c
jne 0x41873f
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41873f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41872c
mov al, byte [ecx]
cmp al, 0x28
je 0x41873d
cmp al, 0x29
je 0x41873d
mov eax, dword [esi]
test dl, 0x10
jne 0x41873f
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x41873d
cmp dl, 0x7d
jne 0x41873f
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x418938
cmp eax, 0x28
jne 0x4187fa
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x41878e
cmp byte [eax], 0x5c
jne 0x41878b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x41878b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x418778
mov al, byte [ecx]
cmp al, 0x28
je 0x418789
cmp al, 0x29
je 0x418789
mov eax, dword [esi]
test dl, 0x10
jne 0x41878b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x418789
cmp dl, 0x7d
jne 0x41878b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
mov ecx, esi
call fcn.00419050
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x418964
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4187e6
cmp byte [eax], 0x5c
jne 0x4187e3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x4187e3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4187d0
mov al, byte [ecx]
cmp al, 0x28
je 0x4187e1
cmp al, 0x29
je 0x4187e1
mov eax, dword [esi]
test dl, 0x10
jne 0x4187e3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4187e1
cmp dl, 0x7d
jne 0x4187e3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00417cc0
test bl, bl
je 0x418949
jmp 0x41893f
cmp eax, 0x5e
jne 0x418850
push 2
lea ecx, [esi + 0x24]
call fcn.00418980
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x418844
cmp byte [eax], 0x5c
jne 0x418842
inc eax
cmp eax, ecx
je 0x418842
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41882f
mov dl, byte [eax]
cmp dl, 0x28
je 0x418840
cmp dl, 0x29
je 0x418840
test cl, 0x10
jne 0x418842
mov cl, byte [eax]
cmp cl, 0x7b
je 0x418840
cmp cl, 0x7d
jne 0x418842
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00417cc0
jmp 0x418949
cmp eax, 0x24
jne 0x4188a6
push 3
lea ecx, [esi + 0x24]
call fcn.00418980
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x41889a
cmp byte [eax], 0x5c
jne 0x418898
inc eax
cmp eax, ecx
je 0x418898
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x418885
mov dl, byte [eax]
cmp dl, 0x28
je 0x418896
cmp dl, 0x29
je 0x418896
test cl, 0x10
jne 0x418898
mov cl, byte [eax]
cmp cl, 0x7b
je 0x418896
cmp cl, 0x7d
jne 0x418898
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00417cc0
jmp 0x418949
cmp eax, 0x2a
je 0x41895d
cmp eax, 0x2b
je 0x41895d
cmp eax, 0x3f
je 0x41895d
cmp eax, 0x7b
je 0x41895d
cmp eax, 0x7d
jne 0x4188de
test dword [esi + 0x50], 0x10000000
je 0x41896b
jmp 0x4188f0
cmp eax, 0x5d
jne 0x4188f0
test dword [esi + 0x50], 0x10000000
je 0x418972
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00419420
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x418938
cmp byte [eax], 0x5c
jne 0x418936
inc eax
cmp eax, ecx
je 0x418936
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x418923
mov dl, byte [eax]
cmp dl, 0x28
je 0x418934
cmp dl, 0x29
je 0x418934
test cl, 0x10
jne 0x418936
mov cl, byte [eax]
cmp cl, 0x7b
je 0x418934
cmp cl, 0x7d
jne 0x418936
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00417cc0
mov ecx, esi
call fcn.004191f0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x418506
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00417cb0
push 5
call fcn.00417cb0
push 6
call fcn.00417cb0
push 4
call fcn.00417cb0
int3