Function at 0x417e1c
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
sub esp, 0x184
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x170], al
mov dword [ebp - 0x158], 0
lea edx, [ebp - 0x154]
mov eax, 0
mov ecx, 0x4a
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x16c]
movzx edx, byte [ebp - 0x170]
mov byte [eax], dl
mov eax, dword [ebp - 0x16c]
mov byte [eax + 1], 0
mov eax, dword [ebp - 0x16c]
movzx edx, byte [eax + 1]
mov eax, dword [ebp - 0x16c]
mov byte [eax + 3], dl
mov eax, dword [ebp - 0x16c]
movzx edx, byte [eax + 3]
mov eax, dword [ebp - 0x16c]
mov byte [eax + 4], dl
mov eax, dword [ebp - 0x16c]
movzx edx, byte [eax + 4]
mov eax, dword [ebp - 0x16c]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x16c]
movzx edx, byte [eax + 2]
mov eax, dword [ebp - 0x16c]
mov byte [eax + 5], dl
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
mov byte [ebp - 0x19], al
cmp byte [ebp - 0x19], 0
setne al
test al, al
je 0x4182d3
movsx eax, byte [ebp - 0x19]
cmp eax, 0x7e
je 0x417f30
cmp eax, 0x7e
jg case.0x417dfd.38
cmp eax, 0x7b
je 0x417f69
cmp eax, 0x7b
jg case.0x417dfd.38
cmp eax, 0x40
jg 0x417dff
cmp eax, 0x25
jl case.0x417dfd.38
sub eax, 0x25
cmp eax, 0x1b
ja case.0x417dfd.38
mov eax, dword [eax*4 + 0x575fb4]
jmp eax
cmp eax, 0x5e
je 0x417eb4
jmp case.0x417dfd.38
mov eax, dword [ebp - 0x16c]
mov byte [eax + 1], 1
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov byte [eax + 1], 0
mov eax, dword [ebp - 0x16c]
mov ecx, eax
call fcn.00417c32
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov byte [eax + 3], 1
mov eax, dword [ebp - 0x16c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x12
mov ecx, eax
call fcn.00417244
sub esp, 0x10
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov byte [eax + 2], 1
mov eax, dword [ebp - 0x16c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x10
mov ecx, eax
call fcn.00417244
sub esp, 0x10
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x16c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x11
mov ecx, eax
call fcn.00417244
sub esp, 0x10
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov byte [eax + 5], 1
mov eax, dword [ebp - 0x16c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 0x5b
mov ecx, eax
call fcn.00417244
sub esp, 0x10
jmp 0x4182ca
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], 0xd
mov ecx, eax
call fcn.004174d8
sub esp, 0xc
mov eax, dword [ebp - 0x16c]
mov ecx, eax
call fcn.00417c32
jmp 0x4182ca
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
test al, al
je 0x417f8c
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
cmp al, 0x7d
je 0x417f8c
add dword [ebp - 0x18], 1
jmp 0x417f72
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x12c
jbe 0x417fa8
mov eax, 0
jmp 0x4182ef
mov eax, dword [ebp - 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
mov eax, dword [ebp - 0x20]
sub eax, 1
mov byte [ebp + eax - 0x158], 0
mov dword [ebp - 0x15c], 0xffffffff
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 0xffff
mov dword [esp + 8], 4
mov dword [esp + 4], str.VKEY
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
sete al
test al, al
je 0x418032
lea eax, [ebp - 0x158]
add eax, 4
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0xc], eax
jmp 0x418248
mov dword [esp + 8], 4
mov dword [esp + 4], str.BEEP
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
sete al
test al, al
je 0x4180ce
lea eax, [ebp - 0x158]
add eax, 5
mov dword [ebp - 0x18], eax
mov dword [esp + 4], 0x20
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
setne al
test al, al
je 0x418248
mov eax, dword [ebp - 0x24]
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
mov byte [eax], 0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_Beep]
call eax
sub esp, 8
jmp 0x418248
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.APPACTIVATE
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
sete al
test al, al
je 0x418119
lea eax, [ebp - 0x158]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00417868
jmp 0x418248
mov dword [esp + 8], 5
mov dword [esp + 4], str.DELAY
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
sete al
test al, al
je 0x41818b
lea eax, [ebp - 0x158]
add eax, 5
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x418172
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [ebp - 0x16c]
mov dword [edx + 8], eax
jmp 0x418248
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [ebp - 0x16c]
mov dword [edx + 0xc], eax
jmp 0x418248
lea eax, [ebp - 0x15c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x158]
mov dword [esp], eax
call fcn.00417b38
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x15c]
cmp eax, 0xffffffff
je 0x418248
mov dword [ebp - 0x10], 1
mov edx, dword [ebp - 0x15c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
add eax, 0x568420
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x158]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp dword [ebp - 0x20], eax
jae 0x41820c
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x20]
add eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x15c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
add eax, 0x568428
movzx eax, byte [eax]
test al, al
je 0x418248
mov edx, dword [ebp - 0x15c]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
add eax, 0x568424
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004179cc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffff
je 0x4182c9
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], 1
mov edx, dword [ebp - 0x10]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0xc]
mov dword [esp], edx
mov ecx, eax
call fcn.004174d8
sub esp, 0xc
mov eax, dword [ebp - 0x16c]
mov ecx, eax
call fcn.00417c32
jmp 0x4182c9
movsx eax, byte [ebp - 0x19]
mov dword [esp], eax
call fcn.004179b0
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov edx, dword [ebp - 0xc]
mov dword [esp], edx
mov ecx, eax
call fcn.004174d8
sub esp, 0xc
mov eax, dword [ebp - 0x16c]
mov ecx, eax
call fcn.00417c32
jmp 0x4182ca
nop
add dword [ebp - 0x14], 1
jmp 0x417d9c
mov eax, dword [ebp - 0x16c]
mov byte [eax + 1], 0
mov eax, dword [ebp - 0x16c]
mov ecx, eax
call fcn.00417c32
mov eax, 1
mov edi, dword [ebp - 4]
leave
ret 8