Function at 0x466200
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0xa54]
sub esp, 0xad0
mov eax, dword [0x526b24]
xor eax, ebp
mov dword [ebp + 0xa50], eax
mov eax, dword [ebp + 0xa64]
push ebx
mov bl, byte [ebp + 0xa60]
push esi
push edi
mov edi, dword [ebp + 0xa5c]
mov edx, edi
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x4d], bl
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x60], bl
lea ecx, [edx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x466244
sub edx, ecx
sar edx, 1
mov dword [ebp - 0x70], edx
test bl, bl
je 0x46626f
xor eax, eax
xor esi, esi
mov dword [ebp - 0x58], esi
mov esi, edi
mov word [ebp + 0x854], ax
jmp 0x466cf8
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 6
push str.global
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x466301
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4662ab
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 0x29c]
cmp dword [eax + 0x18], 0
je 0x4662f7
cmp byte [edx + 0x2198], 0
jne 0x4662cf
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + 0x29c]
mov eax, dword [eax + 0x18]
cmp byte [eax + 0xa6], 0
je 0x4662f7
mov ecx, dword [ebp - 0x5c]
push edi
push str.Global_variables_are_not_supported_for_macros.
call fcn.0046cf30
jmp 0x4665ae
mov edx, 0x41
jmp 0x4663b5
push 5
push str.local
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x46632a
mov ecx, dword fs:[0x2c]
lea edx, [eax + 0x42]
mov esi, dword [0x62271c]
lea eax, [edx - 0x38]
jmp 0x4663ba
push 6
push str.static
push edi
call esi
add esp, 0xc
test eax, eax
jne 0x4667b5
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x466364
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + esi*4]
mov eax, dword [edx + 0x29c]
cmp dword [eax + 0x18], 0
je 0x4663b0
cmp byte [edx + 0x2198], 0
jne 0x466388
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + 0x29c]
mov eax, dword [eax + 0x18]
cmp byte [eax + 0xa6], 0
je 0x4663b0
mov ecx, dword [ebp - 0x5c]
push edi
push str.Static_variables_are_not_supported_for_macros.
call fcn.0046cf30
jmp 0x4665ae
mov edx, 0x62
mov eax, 0xc
add edi, eax
mov dword [ebp - 0x64], edx
movzx eax, word [edi]
test ax, ax
je 0x466759
cmp eax, 0x20
je 0x4663e0
cmp eax, 9
jne 0x4667b2
nop dword [eax]
cmp ax, 0x20
je 0x4663ec
cmp ax, 9
jne 0x4663f5
movzx eax, word [edi + 2]
add edi, 2
jmp 0x4663e0
test ax, ax
je 0x466759
cmp ax, 0x7f
ja 0x466426
movzx eax, ax
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne 0x46641f
cmp word [edi], 0x5f
jne 0x4667b2
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
lea ebx, [esi*4]
mov dword [ebp - 0x6c], ebx
cmp byte [eax + 0x2198], 0
jne 0x466448
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + ebx]
mov eax, dword [eax + 0x29c]
cmp dword [eax + 0x18], 0
mov eax, dword [ebp - 0x64]
jne 0x466473
test al, 2
je 0x466473
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
push str.Unexpected_declaration.
call fcn.0046cf30
jmp 0x4665ae
cmp word [edi], 0
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 0x4e], 0
mov ecx, dword [ecx + 0x50]
mov dword [ebp - 0x54], ecx
je 0x466794
and eax, 1
mov dword [ebp - 0x74], eax
lea eax, [edi + 2]
push eax
call fcn.0044eb60
mov esi, eax
mov dword [ebp - 0x58], eax
sub esi, edi
xor ebx, ebx
add esp, 4
sar esi, 1
cmp dword [ebp - 0x74], ebx
je 0x4664c3
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
push esi
push edi
call fcn.0045cec0
mov ebx, eax
test ebx, ebx
je 0x4665ac
mov ecx, dword fs:[0x2c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ecx + eax]
cmp byte [eax + 0x2198], 0
jne 0x4664e5
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ecx + eax]
mov eax, dword [eax + 0x29c]
cmp dword [eax + 0x18], 0
je 0x466559
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 1
push eax
lea eax, [ebp - 0x68]
test ebx, ebx
push eax
lea eax, [ebp - 0x60]
mov ecx, 0x22
push eax
mov eax, dword [ebp - 0x64]
cmovne eax, ecx
mov ecx, dword [ebp - 0x5c]
push eax
push esi
push edi
call fcn.0045d0e0
mov ecx, eax
test ecx, ecx
jne 0x466547
cmp dword [ebp - 0x70], eax
je 0x4665ac
test ebx, ebx
je 0x466591
push dword [ebp - 0x68]
mov ecx, dword [ebp - 0x60]
push ebx
call fcn.00460190
test eax, eax
je 0x466718
mov ecx, ebx
mov ebx, dword [ebp - 0x5c]
movzx eax, byte [ecx + 0x16]
mov edx, dword [ebp - 0x64]
cmp eax, edx
jne 0x46672f
push dword [ebp - 0x58]
call fcn.0046fff0
mov esi, eax
add esp, 4
movzx eax, word [esi]
mov ecx, eax
test cx, cx
je 0x4666ef
cmp ecx, 0x2c
je 0x4666d5
cmp eax, 0x3a
jne 0x4665ce
cmp word [esi + 2], 0x3d
jne 0x4665ce
add esi, 4
jmp 0x466632
push dword [ebp - 0x64]
mov ebx, dword [ebp - 0x5c]
mov ecx, ebx
push dword [ebp - 0x68]
push dword [ebp - 0x60]
push esi
push edi
call fcn.00452840
mov ecx, eax
test ecx, ecx
jne 0x46654a
xor eax, eax
lea esp, [ebp - 0x88]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xa50]
xor ecx, ebp
call fcn.004ebadf
lea esp, [ebp + 0xa54]
pop ebp
ret 0x10
push eax
push str.__.
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x4665e7
cmp word [esi + 2], 0x3d
je 0x466632
movzx eax, word [esi]
push eax
push 0x4fffc4
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x466746
movzx eax, word [esi]
cmp word [esi + 2], ax
jne 0x466746
movzx ecx, word [esi + 4]
cmp ecx, 0x3d
je 0x466632
cmp eax, 0x3e
jne 0x466746
cmp ecx, eax
jne 0x466746
cmp word [esi + 6], 0x3d
jne 0x466746
push 0
push 0
push 0x2c
push esi
call fcn.004e3a80
lea esi, [esi + eax*2]
lea eax, [esi - 2]
push eax
push edi
call fcn.004700a0
mov ebx, eax
add esp, 0x18
movzx eax, word [ebx + 2]
mov dword [ebp - 0x70], eax
xor eax, eax
mov word [ebx + 2], ax
cmp dword [ebp - 0x54], eax
je 0x466681
cmp byte [ebp - 0x4e], al
jne 0x466681
mov ecx, dword [ebp - 0x5c]
push eax
push eax
push eax
push eax
push 3
call fcn.00451ec0
test eax, eax
je 0x4665ac
mov byte [ebp - 0x4e], 1
cmp dword [ebp - 0x64], 0x62
mov ecx, dword [ebp - 0x5c]
setne al
dec al
push 0
and al, 5
push 0
movzx eax, al
push eax
push edi
call fcn.00466200
test eax, eax
je 0x4665ac
mov eax, dword [ebp - 0x70]
mov word [ebx + 2], ax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2c
jne 0x4666cc
lea eax, [esi + 2]
push eax
call fcn.0046fff0
mov edi, eax
add esp, 4
movzx eax, word [edi]
movzx eax, ax
jmp 0x4666e6
mov eax, ecx
mov edi, esi
movzx eax, ax
jmp 0x4666e6
lea eax, [esi + 2]
push eax
call fcn.0046fff0
mov edi, eax
add esp, 4
movzx eax, word [edi]
test ax, ax
jne 0x466490
cmp byte [ebp - 0x4e], 0
je 0x466794
mov ecx, dword [ebp - 0x5c]
push 0
push 0
push 0
push 0
push 4
call fcn.00451ec0
test eax, eax
jne 0x466794
jmp 0x4665ac
mov ecx, dword [ebp - 0x5c]
push 0x4f5b70
push str.Out_of_memory.
call fcn.0046cf30
jmp 0x4665ae
push ecx
push edx
call fcn.00454480
add esp, 4
mov ecx, ebx
push eax
call fcn.00453550
jmp 0x4665ae
mov ecx, dword [ebp - 0x5c]
push edi
push str.Invalid_variable_declaration.
call fcn.0046cf30
jmp 0x4665ae
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 0x58], 0
je 0x46679e
cmp edx, 0x42
je 0x46679e
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x466782
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov edx, dword [ebp - 0x64]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + 0x29c]
mov eax, dword [eax + 0x18]
mov byte [eax + 0xa5], dl
mov eax, 1
jmp 0x4665ae
push dword [ebp - 0x54]
mov ecx, eax
push str.Unexpected_declaration.
call fcn.0046cf30
jmp 0x4665ae
mov edi, dword [ebp - 0x54]
push edi
call fcn.0044eb60
mov esi, eax
add esp, 4
sub eax, edi
mov dword [ebp - 0x58], esi
sar eax, 1
je 0x46682b
cmp eax, 0xfd
ja 0x46682b
inc eax
push eax
lea eax, [ebp + 0x854]
push edi
push eax
call fcn.004e6a80
add esp, 0xc
test esi, esi
je 0x466822
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x20
je 0x4667f5
cmp eax, 9
jne 0x4667fa
add edi, 2
jmp 0x4667e8
movzx ecx, word [esi]
test cx, cx
je 0x466811
cmp ecx, 0x20
je 0x466811
cmp ecx, 9
je 0x466811
cmp ecx, 0x28
jne 0x46681c
cmp eax, 0x3d
je 0x46681c
mov byte [ebp - 0x4e], 1
jmp 0x46683a
mov byte [ebp - 0x4e], 0
jmp 0x46683a
mov byte [ebp - 0x4e], 0
mov dword [ebp - 0x58], esi
jmp 0x46683a
xor eax, eax
mov word [ebp + 0x854], ax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x4e], al
mov esi, dword [ebp - 0x54]
movzx eax, word [esi]
cmp eax, 0x22
je 0x46684a
cmp eax, 0x27
jne 0x466878
push dword [ebp - 0x74]
push 1
push eax
push esi
call fcn.004e3c00
add esp, 0x10
cmp word [esi + eax*2], 0
lea edi, [esi + eax*2]
je 0x466878
lea eax, [edi + 2]
push eax
call fcn.0046fff0
mov edi, eax
add esp, 4
cmp word [edi], 0x2e
cmovne edi, esi
movzx ecx, word [edi]
lea esi, [edi + 2]
movzx edx, word [esi]
lea eax, [ecx - 0x26]
cmp eax, 0x56
ja case.0x466894.39
movzx eax, byte [eax + 0x4674c8]
jmp dword [eax*4 + 0x4674a8]
movzx eax, bl
cmp edx, 0x3d
mov ecx, 1
cmovne ecx, eax
mov bl, cl
mov byte [ebp - 0x4d], bl
jmp 0x4668e9
cmp dword [ebp - 0x58], 0
jne 0x4668bb
cmp dx, cx
je case.0x466894.63
cmp edx, 0x3d
jne case.0x466894.39
mov esi, dword [ebp - 0x54]
mov bl, 2
mov byte [ebp - 0x4d], bl
mov edi, esi
mov byte [ebp - 0x60], bl
jmp 0x466d4b
movzx eax, bl
cmp edx, 0x3d
mov ecx, 2
cmovne ecx, eax
mov bl, cl
mov byte [ebp - 0x4d], cl
mov byte [ebp - 0x60], bl
test bl, bl
je case.0x466894.39
cmp bl, 1
jne 0x466941
push 0
push 2
push 0x2c
push edi
call fcn.004e3a80
mov edx, dword [ebp - 0x58]
add esp, 0x10
cmp word [edi + eax*2], 0
lea eax, [edi + eax*2]
je 0x466927
mov esi, dword [ebp - 0x54]
mov bl, 2
mov byte [ebp - 0x4d], bl
mov edi, esi
mov byte [ebp - 0x60], bl
jmp 0x466d4e
mov eax, 0x2c
mov word [edi], ax
mov eax, 0x20
mov word [esi], ax
mov esi, dword [ebp - 0x54]
mov edi, esi
jmp 0x466d4e
mov esi, dword [ebp - 0x54]
mov edi, esi
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
jmp 0x466cf8
cmp edx, 0x3d
je case.0x466894.63
cmp edx, 0x2f
jne case.0x466894.39
cmp word [edi + 4], 0x3d
jmp 0x4668be
cmp dx, cx
jne case.0x466894.39
movzx eax, word [edi + 4]
cmp eax, 0x3d
je case.0x466894.63
cmp edx, 0x3e
jne case.0x466894.39
cmp eax, edx
jne case.0x466894.39
cmp word [edi + 6], 0x3d
jmp 0x4668be
cmp edx, 0x3d
je case.0x466894.63
push esi
call fcn.0044eb60
mov edx, eax
add esp, 4
mov dword [ebp - 0x6c], edx
movzx eax, word [edx]
cmp eax, 0x28
je case.0x466894.63
mov ecx, eax
cmp cx, 0x25
je case.0x466894.63
cmp edx, esi
je case.0x466894.39
cmp cx, 0x20
je 0x4669e5
cmp cx, 9
je 0x4669e5
xor bh, bh
jmp 0x4669e7
mov bh, 1
push edx
call fcn.0046fff0
mov esi, eax
add esp, 4
movzx eax, word [esi]
mov ecx, eax
test ax, ax
je 0x466a66
cmp eax, 0x5b
je case.0x466894.63
cmp word [esi + 2], 0x3d
jne 0x466a22
push eax
push str.:__.
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
jne case.0x466894.63
movzx eax, word [esi]
mov ecx, eax
cmp word [esi + 2], ax
jne 0x466a66
push eax
push 0x4fffc4
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x466a4a
cmp word [esi + 4], 0x3d
je case.0x466894.63
movzx eax, word [esi]
cmp eax, 0x2b
je case.0x466894.63
cmp eax, 0x2d
je case.0x466894.63
mov ecx, eax
cmp eax, 0x3e
je 0x466a9d
cmp cx, 0x2e
jne 0x466abd
add esi, 2
push esi
call fcn.0044eb60
mov edx, eax
mov dword [ebp - 0x6c], eax
add esp, 4
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x28
jne 0x4669c3
mov esi, dword [ebp - 0x54]
mov bl, 2
mov byte [ebp - 0x4d], bl
mov edi, esi
mov byte [ebp - 0x60], bl
jmp 0x466d4b
cmp word [esi + 4], 0x3e
jne 0x466ac2
cmp word [esi + 6], 0x3d
jne 0x466ac2
mov esi, dword [ebp - 0x54]
mov bl, 2
mov byte [ebp - 0x4d], bl
mov edi, esi
mov byte [ebp - 0x60], bl
jmp 0x466d4b
test cx, cx
je 0x466ac6
test bh, bh
je case.0x466894.39
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x58], eax
jmp 0x466ad4
cmp byte [ebp - 0x4e], 0
je 0x466b4d
lea eax, [ebp + 0x854]
push eax
call fcn.00453620
mov bl, al
add esp, 4
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
test bl, bl
jne 0x466cf5
mov edx, dword [ebp - 0x58]
movzx eax, word [edx]
cmp eax, 0x28
je 0x466b55
mov cx, word [ebp + 0x854]
cmp cx, 0x30
jb 0x466b11
cmp cx, 0x39
jbe 0x466b55
mov ecx, dword [ebp - 0x70]
test ax, ax
mov esi, dword [ebp - 0x54]
mov eax, 0x28
je 0x466b26
mov word [edx], ax
jmp 0x466b2b
mov word [esi + ecx*2], ax
inc ecx
mov eax, 0x29
mov bl, 2
mov word [esi + ecx*2], ax
mov edi, esi
inc ecx
mov byte [ebp - 0x4d], bl
xor eax, eax
mov dword [ebp - 0x70], ecx
mov byte [ebp - 0x60], bl
mov word [esi + ecx*2], ax
jmp 0x466d4e
test bl, bl
jne 0x466cf5
movzx eax, word [edi]
cmp eax, 0x7b
jne 0x466c3b
lea eax, [ebp + 0x854]
push eax
call fcn.00453620
mov bl, al
add esp, 4
movzx eax, bl
add eax, 0xfffffff7
mov byte [ebp - 0x4d], bl
cmp eax, 0x11
ja case.0x466b87.11
movzx eax, byte [eax + 0x46752c]
jmp dword [eax*4 + 0x467520]
cmp word [edi + 2], 0
jne case.0x466b87.11
mov byte [ebp - 0x60], bl
test bl, bl
jne 0x466d48
movzx eax, word [edi]
push eax
push str.__t_____:________n._
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x466bee
movzx eax, word [edi]
cmp eax, 0x2b
je 0x466bc2
cmp eax, 0x2d
jne 0x466bcc
cmp word [edi + 2], ax
je case.0x466894.63
push 0x3f
push edi
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x466bee
push 0x3a
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
jne case.0x466894.63
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x466c0a
movzx eax, word [edx]
cmp eax, 0x28
je 0x466ce6
cmp eax, 0x5b
je 0x466ce6
movzx eax, word [edi]
mov esi, dword [ebp - 0x54]
cmp eax, 0x25
je 0x466ce9
cmp word [esi], 0x28
je 0x466ce9
cmp eax, 0x3d
jne 0x466ca2
mov ecx, dword [ebp - 0x5c]
push esi
push str.Syntax_error._Did_you_mean_to_use__:__
call fcn.0046cf30
jmp 0x4665ae
cmp eax, 0x3a
jne case.0x466b87.11
lea eax, [ebp + 0x854]
push str.Default
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne case.0x466b87.11
mov ebx, dword [ebp - 0x5c]
mov ecx, ebx
push eax
push eax
push eax
push eax
push 0x1b
call fcn.00451ec0
test eax, eax
je 0x4665ac
lea eax, [edi + 2]
push eax
call fcn.0046fff0
add esp, 4
cmp word [eax], 0
je 0x466794
push 0
push 0
push 0
push eax
mov ecx, ebx
call fcn.00466200
jmp 0x4665ae
cmp eax, 0x2c
jne 0x466cba
mov ecx, dword [ebp - 0x5c]
push esi
push str.Function_calls_require_a_space_or____.__Use_comma_only_between_parameters.
call fcn.0046cf30
jmp 0x4665ae
push 0x4ff214
push esi
call sub.VCRUNTIME140.dll_wcsstr
add esp, 8
mov edx, str.This_line_does_not_contain_a_recognized_action.
test eax, eax
mov ecx, str.Invalid_hotkey.
cmove ecx, edx
push esi
push ecx
mov ecx, dword [ebp - 0x5c]
call fcn.0046cf30
jmp 0x4665ae
mov esi, dword [ebp - 0x54]
mov bl, 2
mov edi, esi
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
jmp 0x466d4e
mov esi, dword [ebp - 0x54]
cmp bl, 0xa
jne 0x466d4b
mov dword [ebp - 0x6c], edi
test edi, edi
je 0x466d48
movzx eax, word [edi]
test ax, ax
je 0x466d48
mov esi, eax
nop
mov ecx, str.__t_____:________n.
mov edx, 0x20
nop word [eax + eax]
mov bh, bl
cmp si, dx
je 0x466d8f
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x466d20
mov eax, dword [ebp - 0x6c]
add eax, 2
mov dword [ebp - 0x6c], eax
movzx eax, word [eax]
mov esi, eax
test ax, ax
jne 0x466d10
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
xor eax, eax
xor cl, cl
mov dword [ebp - 0x6c], eax
movzx eax, bl
mov dword [ebp - 0x78], eax
add eax, 0xfffffff7
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x64], cl
mov byte [ebp - 0x4e], cl
mov ecx, dword [ebp - 0x70]
cmp eax, 0x12
ja case.0x466d88.13
movzx eax, byte [eax + 0x467554]
xor cl, cl
mov dword [ebp - 0x68], ecx
mov byte [ebp - 0x64], cl
mov byte [ebp - 0x4e], cl
mov ecx, dword [ebp - 0x70]
jmp dword [eax*4 + 0x467540]
mov esi, dword [ebp - 0x6c]
cmp esi, edi
jbe 0x466d48
movzx eax, word [esi]
cmp eax, 0x20
je 0x466da8
cmp eax, 9
je 0x466da8
cmp eax, 0x2c
jne 0x466d48
push esi
call fcn.0046fff0
mov dword [ebp - 0x6c], eax
push edi
push str.Files
movzx ecx, word [eax]
mov eax, ecx
movzx ecx, word [esi]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], eax
mov eax, ecx
mov dword [ebp - 0x64], eax
movzx eax, ax
mov dword [ebp - 0x68], eax
xor eax, eax
mov word [esi], ax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 0xc
test eax, eax
jne 0x466df5
mov eax, dword [ebp - 0x64]
mov bl, 0xb
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
mov word [esi], ax
jmp 0x466e71
push edi
push 0x50016c
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x466e18
mov eax, dword [ebp - 0x64]
mov bl, 0xc
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
mov word [esi], ax
jmp 0x466e71
push edi
push str.Read
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x466e3b
mov eax, dword [ebp - 0x64]
mov bl, 0xd
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
mov word [esi], ax
jmp 0x466e71
push edi
push str.Parse
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x466e5e
mov eax, dword [ebp - 0x68]
mov bl, 0xe
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
mov word [esi], ax
jmp 0x466e71
mov eax, dword [ebp - 0x64]
mov bl, bh
mov word [esi], ax
mov byte [ebp - 0x4d], bh
mov byte [ebp - 0x60], bl
cmp bh, 0xa
je 0x466e96
cmp word [ebp - 0x7c], 0x2c
jne 0x466e8e
mov eax, dword [ebp - 0x6c]
add eax, 2
push eax
call fcn.0046fff0
add esp, 4
mov edi, eax
jmp 0x466d48
mov edi, dword [ebp - 0x6c]
jmp 0x466d48
cmp word [ebp - 0x78], 0x2c
mov bl, bh
mov byte [ebp - 0x4d], bl
mov byte [ebp - 0x60], bl
jne 0x466d48
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
push str.Invalid_loop_type.
call fcn.0046cf30
jmp 0x4665ae
mov edx, edi
mov dword [ebp - 0x58], edx
xor al, al
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
mov byte [ebp - 0x4e], al
test edx, edx
je 0x466f5e
cmp word [edx], 0x28
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
mov byte [ebp - 0x4e], al
jne 0x466f5e
dec ecx
mov byte [ebp - 0x4e], 0
movzx eax, word [esi + ecx*2]
lea ecx, [esi + ecx*2]
mov edx, eax
cmp eax, 0x7b
jne 0x466f2c
cmp bl, 0xf
je 0x466f11
xor al, al
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
mov byte [ebp - 0x4e], al
cmp bl, 0x17
jne case.0x466d88.13
mov esi, dword [ebp - 0x58]
lea eax, [ecx - 2]
push eax
push esi
mov byte [ebp - 0x4e], 1
call fcn.004700a0
mov ecx, eax
add esp, 8
movzx edx, word [ecx]
jmp 0x466f2f
mov esi, dword [ebp - 0x58]
xor al, al
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
cmp dx, 0x29
jne 0x466f5b
lea eax, [ecx - 2]
add edi, 2
push eax
push esi
call fcn.004700a0
add esp, 8
xor ecx, ecx
mov word [eax + 2], cx
mov al, 1
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
mov edx, dword [ebp - 0x58]
cmp bl, 0x17
jne case.0x466d88.13
cmp word [edi], 0x7b
jne case.0x466d88.13
test edx, edx
je 0x466f90
cmp word [edx], 0x28
jne 0x466f90
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
push str.Syntax_error.
call fcn.0046cf30
jmp 0x4665ae
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
jne 0x466faf
lea eax, [edi + 2]
mov byte [ebp - 0x4e], 1
push eax
call fcn.0046fff0
mov edi, eax
add esp, 4
movzx ecx, word [edi]
test cx, cx
je case.0x466d88.13
mov dword [ebp - 0x6c], edi
sub edi, 2
xor eax, eax
mov word [edi], ax
jmp case.0x466d88.13
push 0
push 0
push 0x3a
push edi
call fcn.004e3a80
add esp, 0x10
cmp word [edi + eax*2], 0
lea esi, [edi + eax*2]
jne 0x466ff6
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
push str.Missing__:_
call fcn.0046cf30
jmp 0x4665ae
xor eax, eax
mov word [esi], ax
cmp word [edi], ax
je 0x467043
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x467005
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [edi + eax*2]
nop word [eax + eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x46702d
cmp ecx, 9
jne 0x467036
cmp eax, edi
je 0x46703e
sub eax, 2
jmp 0x467020
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x467043
xor ecx, ecx
mov word [eax], cx
lea eax, [esi + 2]
push eax
call fcn.0046fff0
mov edx, eax
add esp, 4
xor al, al
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
cmp word [edx], 0
mov byte [ebp - 0x4e], al
jne case.0x466d88.13
xor eax, eax
mov dword [ebp - 0x6c], eax
xor al, al
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x64], al
mov byte [ebp - 0x4e], al
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
lea eax, [eax + eax*2]
mov dword [ebp - 0x58], eax
test ecx, ecx
je 0x467094
mov eax, edi
sub eax, dword [ebp - 0x54]
sar eax, 1
lea eax, [ecx + eax*2]
mov dword [ebp - 0x70], eax
jmp 0x4670bb
mov esi, dword [ebp - 0x70]
add esi, esi
mov eax, esi
call fcn.004ec520
mov eax, esp
push esi
push 0
push eax
mov dword [ebp - 0x70], eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp - 0x70]
push eax
push edi
call fcn.004e2a50
add esp, 0x14
cmp bl, 0x14
ja 0x4670c5
cmp bl, 0x12
jae 0x4670d2
mov edx, 1
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x64], dl
jmp 0x4670d5
mov edx, dword [ebp - 0x68]
cmp bl, 0xf
jne 0x4671ad
movzx eax, word [edi]
mov esi, edi
movzx ebx, ax
test ebx, 0xffffff80
jne 0x4670ff
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
add esp, 4
test eax, eax
je 0x4670ff
or ebx, 0x20
cmp bx, 0x69
jne 0x467126
movzx eax, word [esi + 2]
push eax
call fcn.0046ff00
add esp, 4
cmp ax, 0x6e
jne 0x467126
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x467192
cmp eax, 9
je 0x467192
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x467150
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
jne 0x467150
movzx eax, word [esi]
cmp eax, 0x5f
je 0x467150
cmp eax, 0x2c
jne 0x466f7b
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x46716e
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
test eax, eax
jne 0x46716e
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x467173
add esi, 2
jmp 0x467150
cmp eax, 0x2c
jne 0x467180
add esi, 2
nop dword [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x467178
cmp eax, 9
je 0x467178
jmp 0x4670e3
mov edx, dword [ebp - 0x68]
cmp esi, edi
mov ecx, 0x20
mov eax, 0x2c
cmove eax, ecx
mov word [esi + 2], cx
mov word [esi], ax
jmp 0x4671be
xor eax, eax
movzx edx, dl
cmp bl, 0x17
cmove edx, eax
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x64], dl
mov eax, dword [ebp - 0x58]
xor ebx, ebx
xor esi, esi
movsx eax, byte [eax*2 + 0x52315d]
mov dword [ebp - 0x74], eax
lea ecx, [eax - 1]
mov dword [ebp - 0x78], ecx
cmp word [edi], bx
je 0x46726e
nop
cmp ebx, eax
jge 0x46726e
mov ecx, dword [ebp - 0x70]
lea eax, [edi + esi*2]
mov dword [ebp + ebx*4 + 4], eax
push ecx
push esi
lea eax, [ecx + esi*2]
mov dword [ebp + ebx*4 - 0x4c], eax
push 0x2c
push edi
test dl, dl
je 0x467209
call fcn.004e3a80
jmp 0x46720e
call fcn.004e3c00
mov esi, eax
add esp, 0x10
cmp word [edi + esi*2], 0
je 0x46725a
cmp ebx, dword [ebp - 0x78]
je 0x46726d
xor eax, eax
mov word [edi + esi*2], ax
push dword [ebp + ebx*4 - 0x4c]
push dword [ebp + ebx*4 + 4]
call fcn.00470130
mov ecx, dword [ebp - 0x70]
inc esi
mov edx, edi
add esp, 8
sub edx, ecx
lea eax, [ecx + esi*2]
movzx ecx, word [edx + eax]
cmp ecx, 0x20
je 0x46724e
cmp ecx, 9
jne 0x46725a
cmp word [eax], 0
jne 0x46725a
inc esi
add eax, 2
jmp 0x467240
inc ebx
cmp word [edi + esi*2], 0
je 0x46726e
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x68]
jmp 0x4671e0
inc ebx
mov eax, dword [ebp - 0x58]
mov dl, byte [eax*2 + 0x52315c]
movsx ecx, dl
cmp ebx, ecx
jge 0x4672c5
cmp dl, 1
mov eax, 0x5001e8
mov esi, 0x4f5b70
cmovle eax, esi
push eax
mov eax, dword [ebp - 0x58]
push ecx
push dword [eax*2 + 0x523158]
lea eax, [ebp + 0x54]
push str.__s__requires_at_least__d_parameter_s.
push 0x400
push eax
call fcn.004e6440
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp + 0x54]
add esp, 0x18
push dword [ebp - 0x54]
push eax
call fcn.0046cf30
jmp 0x4665ae
cmp word [edi + esi*2], 0
mov dl, byte [ebp - 0x4d]
je 0x467322
cmp dl, 2
je 0x467322
cmp dl, 0x17
je 0x467322
mov ecx, dword [ebp - 0x74]
mov edx, 0x4f5b70
cmp ecx, 1
mov eax, 0x5001e8
cmovle eax, edx
push eax
mov eax, dword [ebp - 0x58]
push ecx
push dword [eax*2 + 0x523158]
lea eax, [ebp + 0x54]
push str.__s__accepts_at_most__d_parameter_s.
push 0x400
push eax
call fcn.004e6440
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp + 0x54]
add esp, 0x18
push dword [ebp - 0x54]
push eax
call fcn.0046cf30
jmp 0x4665ae
xor eax, eax
cmp dl, 0x1b
jne 0x46732d
mov ecx, ebx
jmp 0x467335
cmp dl, 0x17
jne 0x467335
lea ecx, [ebx - 1]
test ecx, ecx
jle 0x467357
nop dword [eax]
lea esi, [eax + 1]
mov eax, dword [ebp + eax*4 + 4]
cmp word [eax], 0
je 0x4673f6
mov eax, esi
cmp eax, ecx
jl 0x467340
test ebx, ebx
je 0x46742c
cmp dl, 0xa
jb 0x467369
cmp dl, 0x10
jbe 0x46737c
cmp dl, 8
je 0x46737c
cmp dl, 0x17
je 0x46737c
cmp dl, 0x1a
jne 0x467450
cmp byte [ebp - 0x4e], 0
jne 0x46742c
mov esi, dword [ebp + ebx*4]
mov ecx, esi
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x467390
sub ecx, edi
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
cmp eax, esi
jb 0x46742c
cmp word [eax], 0x7b
jne 0x46742c
xor ecx, ecx
mov byte [ebp - 0x4e], 1
push 0xffffffffffffffff
push esi
mov word [eax], cx
call fcn.004700d0
mov dl, byte [ebp - 0x4d]
add esp, 8
test eax, eax
jne 0x46742c
cmp dl, 0xa
je 0x46742b
cmp dl, 0x17
je 0x46742b
cmp dl, 0x1a
je 0x46742b
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x5c]
push str.Parameter_1_required
call fcn.0046cf30
jmp 0x4665ae
mov eax, dword [ebp - 0x58]
push esi
push dword [eax*2 + 0x523158]
lea eax, [ebp + 0x54]
push str.__s__requires_that_parameter__u_be_non_blank.
push 0x400
push eax
call fcn.004e6440
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp + 0x54]
add esp, 0x14
push dword [ebp - 0x54]
push eax
call fcn.0046cf30
jmp 0x4665ae
dec ebx
cmp dl, 0x1a
jne 0x467450
test ebx, ebx
je 0x467450
mov eax, dword [ebp + 4]
cmp word [eax], 0
jne 0x467450
mov ecx, dword [ebp - 0x5c]
push 0x4f5b70
push str.Parameter_1_must_not_be_blank_in_this_case.
call fcn.0046cf30
push dword [ebp - 0x64]
lea eax, [ebp - 0x4c]
push eax
push ebx
mov ebx, dword [ebp - 0x5c]
lea eax, [ebp + 4]
push eax
push dword [ebp - 0x60]
mov ecx, ebx
call fcn.00451ec0
test eax, eax
je 0x4665ac
cmp byte [ebp - 0x4e], 0
je 0x467490
push 0
push 0
push 0
push 0
push 3
mov ecx, ebx
call fcn.00451ec0
test eax, eax
je 0x4665ac
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x466c8f
mov eax, 1
jmp 0x4665ae