Function at 0x418640
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x451088
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4605d8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x20]
call fcn.00418a70
mov dword [ebp - 4], 0
push 0
push 0
push 1
push 0
lea ecx, [ebp - 0x34]
call fcn.00414170
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xa8
call fcn.00417a10
test eax, eax
je 0x41897d
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0xac], 0
jne 0x4187ae
push 0
push 0
push 1
push 0x7b
lea ecx, [ebp - 0x44]
call fcn.00414170
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xb8
call fcn.00415520
test eax, eax
jne 0x418752
push 0
push 0
push 1
push 0x3f
lea ecx, [ebp - 0x54]
call fcn.00414170
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xb8
call fcn.00415520
test eax, eax
jne 0x418752
push 0
push 0
push 1
push 0x2a
lea ecx, [ebp - 0x64]
call fcn.00414170
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xb8
call fcn.00415520
test eax, eax
jne 0x418752
push 0
push 0
push 1
push 0x2b
lea ecx, [ebp - 0x74]
call fcn.00414170
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0xb8
call fcn.00415520
test eax, eax
je 0x418787
lea ecx, [ebp - 0x20]
call fcn.00420080
test eax, eax
jne 0x418780
push 1
mov ecx, dword [ebp - 0x98]
mov dl, byte [ecx + 0xa8]
push edx
lea ecx, [ebp - 0x20]
call fcn.00418ad0
mov ecx, dword [ebp - 0x98]
call fcn.00414f80
jmp 0x41897d
push 1
mov eax, dword [ebp - 0x98]
mov cl, byte [eax + 0xa8]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00418ad0
mov ecx, dword [ebp - 0x98]
call fcn.00414f80
jmp 0x418978
mov edx, dword [ebp - 0x98]
cmp dword [edx + 0xac], 1
jne 0x418978
mov eax, dword [ebp - 0x98]
mov cl, byte [eax + 0xa8]
mov byte [ebp - 0x21], cl
movsx edx, byte [ebp - 0x21]
cmp edx, 0x29
je 0x4187e2
movsx eax, byte [ebp - 0x21]
cmp eax, 0x7c
jne 0x4187e7
jmp 0x41897d
lea ecx, [ebp - 0x20]
call fcn.00420080
test eax, eax
jle 0x4187f8
jmp 0x41897d
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x28
jne 0x41882a
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x98]
call fcn.00419910
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x78]
jmp 0x418a5d
movsx eax, byte [ebp - 0x21]
cmp eax, 0x5b
je 0x418872
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x2e
je 0x418872
movsx edx, byte [ebp - 0x21]
cmp edx, 0x77
je 0x418872
movsx eax, byte [ebp - 0x21]
cmp eax, 0x57
je 0x418872
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x73
je 0x418872
movsx edx, byte [ebp - 0x21]
cmp edx, 0x53
je 0x418872
movsx eax, byte [ebp - 0x21]
cmp eax, 0x64
je 0x418872
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x44
jne 0x41889b
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x98]
call fcn.00418f70
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x7c]
jmp 0x418a5d
movsx eax, byte [ebp - 0x21]
cmp eax, 0x5e
je 0x4188e3
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x24
je 0x4188e3
movsx edx, byte [ebp - 0x21]
cmp edx, 0x41
je 0x4188e3
movsx eax, byte [ebp - 0x21]
cmp eax, 0x5a
je 0x4188e3
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x7a
je 0x4188e3
movsx edx, byte [ebp - 0x21]
cmp edx, 0x62
je 0x4188e3
movsx eax, byte [ebp - 0x21]
cmp eax, 0x42
je 0x4188e3
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x47
jne 0x41890c
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x98]
call fcn.0041ac40
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x80]
jmp 0x418a5d
movsx eax, byte [ebp - 0x21]
cmp eax, 0x5c
je 0x418927
movsx ecx, byte [ebp - 0x21]
cmp ecx, 0x6b
je 0x418927
movsx edx, byte [ebp - 0x21]
cmp edx, 0x67
jne 0x418956
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x98]
call fcn.0041af60
mov dword [ebp - 0x84], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x84]
jmp 0x418a5d
push 1
mov ecx, dword [ebp - 0x98]
mov dl, byte [ecx + 0xa8]
push edx
lea ecx, [ebp - 0x20]
call fcn.00418ad0
mov ecx, dword [ebp - 0x98]
call fcn.00414f80
jmp 0x41867d
lea ecx, [ebp - 0x20]
call fcn.00420080
test eax, eax
jle 0x418a24
push 0x20
call fcn.00428979
add esp, 4
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x4189dd
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
and ecx, 8
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
and eax, 0x10
push eax
lea ecx, [ebp - 0x20]
call fcn.00420080
push eax
lea ecx, [ebp - 0x20]
call fcn.00418af0
push eax
mov ecx, dword [ebp - 0x90]
call fcn.0041b480
mov dword [ebp - 0x9c], eax
jmp 0x4189e7
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x8c]
push edx
mov ecx, dword [ebp - 0x98]
call fcn.00417730
mov dword [ebp - 0x88], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x88]
jmp 0x418a5d
push 0
mov ecx, dword [ebp - 0x98]
call fcn.00416ce0
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00413810
mov eax, dword [ebp - 0x94]
jmp 0x418a5d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 4