Function at 0x4162c0
Capabilities:
Extract resource via kernel32 functions
Get keyboard layout
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
push 0x495d1b
mov eax, dword fs:[0]
push eax
mov eax, 0xe28c
mov dword fs:[0], esp
call fcn.004918e0
push ebx
push ebp
mov ebp, dword [esp + 0xe2a4]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x418336
cmp byte [ebx], 0
je 0x418336
mov eax, dword [0x4abcc4]
mov dword [esp + 0x9c], eax
test eax, eax
jne 0x416318
mov eax, dword [ebp + 0x5e8]
mov dword [0x4a9cb8], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x341]
push esi
push ecx
mov byte [esp + 0x348], 0
call fcn.0048e5e0
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea edx, [esp + 0x434c]
lea eax, [esp + 0xa294]
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov byte [esp + 0xec], 0
call edi
mov esi, eax
test esi, esi
jne 0x41638e
push 0xa
push 0x49a7a8
push eax
call edi
mov esi, eax
test esi, esi
je 0x41831c
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xdc], eax
cmp eax, edi
je 0x41831c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x41831c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd8], eax
cmp eax, edi
je 0x41831c
lea esi, [esp + 0x4c]
call fcn.00414a20
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xdc]
mov ecx, esi
mov dword [esp + 0xe2a8], edi
call fcn.0046fee0
mov ecx, dword [esp + 0x9c]
inc dword [0x4abcc4]
mov dword [ebp + 0x16c], ecx
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x4344]
mov byte [esp + 0x1c], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0xb0], 0xffffffff
call fcn.004185b0
push 2
lea edx, [esp + 0x4348]
push 0x49a7dc
push edx
mov dword [esp + 0x2c], eax
call fcn.004871f6
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x416463
mov byte [esp + 0x4344], 0
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0xffffffff
je 0x418278
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x18]
push 0xc
inc eax
push 0x49a7e0
xor edi, edi
push esi
mov dword [ebp + 0x170], eax
mov dword [ebp + 0x370], edi
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x4164ab
push esi
push ebp
call fcn.00418740
test eax, eax
je 0x416c97
mov byte [esp + 0xb4], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
test ebx, ebx
je 0x41654f
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.004185b0
mov edi, eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x416589
cmp edi, 0xffffffff
je 0x416589
test esi, esi
jne 0x416589
push 2
push 0x49a7f0
push ebx
call fcn.004871f6
add esp, 0xc
test eax, eax
jne 0x416558
cmp byte [esp + 0x1f], al
jne 0x416520
cmp byte [ebx + 2], 0x3a
jne 0x416520
cmp byte [ebx + 3], 0x3a
je 0x416563
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x2b], 0
call fcn.00485ca0
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.00412ad0
cmp byte [ebx], 0
mov dword [esp + 0x40], eax
je 0x4164b7
jmp 0x416563
or edi, 0xffffffff
mov dword [esp + 0x40], edi
jmp 0x416589
cmp byte [esp + 0x1f], 0
jne 0x4164b7
mov ebx, dword [esp + 0x3c]
push 2
push 0x49a7dc
push ebx
call fcn.004871f6
add esp, 0xc
test eax, eax
jne 0x416585
mov byte [esp + 0x1f], 1
jmp 0x4164b7
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x1f], 0
je 0x41659e
cmp edi, 0xffffffff
jne 0x4164b7
jmp 0x416bd2
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x416a14
cmp edi, 0xffffffff
je 0x416612
cmp byte [ebx], 0x28
jne 0x416612
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x416612
cmp byte [edi + ebx - 1], 0x3a
je 0x416612
mov dl, byte [0x4aa51a]
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc0], eax
mov byte [esp + 0x3a], dl
mov byte [esp + 0x39], cl
mov byte [esp + 0x3b], al
mov byte [esp + 0x37], al
mov byte [esp + 0x36], cl
mov word [esp + 0xe4], 0xa
mov dword [esp + 0xac], ecx
nop
mov al, byte [esi]
cmp al, 0x20
je 0x41660e
cmp al, 9
jne 0x41684a
add esi, ecx
jmp 0x416600
mov dword [esp + 0x28], eax
cmp edi, 0xffffffff
je 0x416bd2
cmp edi, eax
je 0x4164b7
cmp byte [edi + ebx - 1], 0x3a
jne 0x416637
cmp byte [ebx], 0x2c
jne 0x416bd2
mov al, byte [ebx]
call fcn.00409410
cmp al, 0x41
je 0x4167b2
cmp al, 0x4f
je 0x41677f
mov al, byte [ebx]
cmp al, 0x3a
je 0x41665c
cmp al, 0x2b
je 0x41665c
cmp al, 0x2d
jne 0x416665
cmp byte [ebx + 1], al
je 0x416bd2
movsx eax, al
push eax
push 0x49a804
call fcn.004860b1
add esp, 8
test eax, eax
je 0x416bd2
push 0x49a818
push ebx
call fcn.004861f2
mov edi, eax
add esp, 8
test edi, edi
je 0x416806
cmp byte [ebx], 0x3a
jne 0x4166e1
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x4166d8
cmp al, 0x3a
je 0x416bd2
mov ecx, 0x107
call fcn.004093f0
test eax, eax
jne 0x4166d0
movsx eax, byte [esi]
push eax
push 0x49a81c
call fcn.004860b1
add esp, 8
test eax, eax
je 0x4166e1
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4166a5
cmp byte [esi], 0x3a
je 0x416bd2
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x416733
lea esi, [ebx + 1]
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x4166fa
cmp al, 9
jne 0x4166fd
inc esi
jmp 0x4166f0
push 2
push 0x49a818
push esi
call fcn.004871f6
add esp, 0xc
test eax, eax
je 0x416bd2
push 3
push 0x499fec
dec esi
push esi
call fcn.004871f6
add esp, 0xc
test eax, eax
je 0x416bd2
jmp 0x416806
mov eax, ebx
cmp ebx, edi
jae 0x41674a
lea esp, [esp]
cmp byte [eax], 0x22
je 0x41674a
inc eax
cmp eax, edi
jb 0x416740
cmp eax, edi
je 0x416bd2
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x416bd2
cmp al, 0x22
je 0x416771
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416760
jmp 0x416bd2
cmp byte [ecx], 0
je 0x416bd2
jmp 0x416806
mov al, byte [ebx + 1]
call fcn.00409410
cmp al, 0x52
jne 0x416bd2
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x4167a5
cmp al, 9
je 0x4167a5
cmp al, 0xa0
jne 0x416bd2
mov al, byte [ecx]
cmp al, 0x20
je 0x4167af
cmp al, 9
jne 0x4167ed
inc ecx
jmp 0x4167a5
push 3
push 0x49a7f4
push ebx
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x416bd2
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x4167e0
cmp al, 9
je 0x4167e0
cmp al, 0xa0
jne 0x416bd2
mov al, byte [ecx]
cmp al, 0x20
je 0x4167ea
cmp al, 9
jne 0x4167ed
inc ecx
jmp 0x4167e0
movsx eax, byte [ecx]
push eax
push 0x49a7f8
call fcn.004860b1
add esp, 8
test eax, eax
jne 0x416bd2
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x41806b
cmp byte [ebx], 0x2c
je 0x41682a
mov ecx, dword [esp + 0x18]
mov byte [esi + ecx], 0x20
inc esi
mov eax, dword [esp + 0x18]
lea edx, [edi + 1]
push edx
lea ecx, [esi + eax]
push ebx
push ecx
call fcn.0048da10
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x4164b7
cmp byte [esi], 0
je 0x416a07
mov edi, 0x499ff4
mov eax, esi
call fcn.00409440
mov ebp, eax
test ebp, ebp
jne 0x41687c
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416870
sub eax, edx
lea ebp, [eax + esi]
mov bl, byte [ebp]
push 4
push 0x49a844
push esi
mov byte [esp + 0x21], bl
mov byte [ebp], 0
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x416969
push 0xf
add esi, 4
lea eax, [esp + 0xe8]
push esi
push eax
call fcn.00488060
mov bl, byte [0x4a63cd]
mov byte [esp + 0xff], 0
lea ecx, [esp + 0xf0]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x4168dc
cmp al, bl
je 0x4168ff
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4168d0
lea eax, [esp + 0xe4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4168e6
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xac], eax
jmp 0x4169ec
cmp byte [ecx], 0
je 0x4168dc
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41691a.99
movzx edx, byte [eax + 0x418378]
jmp dword [edx*4 + 0x418354]
mov byte [esi], 7
jmp case.0x41691a.99
mov byte [esi], 8
jmp case.0x41691a.99
mov byte [esi], 0xc
jmp case.0x41691a.99
mov byte [esi], 0xa
jmp case.0x41691a.99
mov byte [esi], 0xd
jmp case.0x41691a.99
mov byte [esi], 9
jmp case.0x41691a.99
mov byte [esi], 0xb
jmp case.0x41691a.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416950
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00485ca0
mov ecx, esi
jmp 0x4168c7
push 5
push 0x49a84c
push esi
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x416988
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3a]
jmp 0x4169ec
push 5
push 0x49a854
push esi
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x4169a7
cmp byte [esi + 5], 0x30
setne byte [esp + 0x39]
jmp 0x4169ec
mov al, byte [esi]
test al, al
je 0x4169ec
mov ecx, 2
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4169c4.38
movzx eax, byte [eax + 0x4183a8]
jmp dword [eax*4 + 0x418390]
mov byte [esp + 0x3b], 1
jmp case.0x4169c4.38
mov byte [esp + 0x37], 1
jmp case.0x4169c4.38
mov byte [esp + 0x36], 0
jmp case.0x4169c4.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4169b2
mov byte [ebp], bl
mov esi, ebp
mov al, byte [esi]
cmp al, 0x20
je 0x4169fb
cmp al, 9
jne 0x4169fe
inc esi
jmp 0x4169f1
cmp byte [esi], 0
jne 0x416853
mov byte [esp + 0xb4], 1
jmp 0x4164b7
cmp edi, 0xffffffff
je 0x418250
cmp edi, 0xfffffffe
je 0x4164b7
cmp byte [ebx], 0x29
jne 0x416a4c
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
or eax, 0xffffffff
lea ebx, [esi + 1]
call fcn.00412b40
dec eax
mov dword [esp + 0x40], eax
mov ebp, eax
mov edi, esi
jmp 0x416b4b
mov edi, dword [esp + 0x3c]
mov ebx, edi
cmp byte [esp + 0x39], al
je 0x416a67
mov eax, dword [esp + 0x40]
mov esi, edi
call fcn.00412b40
mov ebp, eax
jmp 0x416a6b
mov ebp, dword [esp + 0x40]
cmp byte [esp + 0x3a], 0
je 0x416a7b
mov eax, ebp
call fcn.00412ad0
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x3b], 0
je 0x416ab6
mov al, byte [0x4a63cd]
push esi
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x40], al
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00472af0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x37], 0
je 0x416af6
mov al, byte [0x4a63cc]
mov cl, byte [0x4a63cd]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00472af0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x36], 0
je 0x416b36
mov al, byte [0x4a6367]
mov cl, byte [0x4a63cd]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00472af0
add esp, 0x18
add esi, eax
test esi, esi
je 0x416b4b
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416b40
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x20]
lea ecx, [eax + ebp]
add ecx, esi
cmp ecx, 0x4001
jae 0x41806b
mov ecx, dword [esp + 0xc0]
inc ecx
mov dword [esp + 0xc0], ecx
cmp ecx, 1
jle 0x416ba7
test eax, eax
je 0x416ba7
cmp ebx, edi
jne 0x416ba7
mov ecx, dword [esp + 0x18]
mov edi, eax
lea edx, [edi + 1]
push edx
lea eax, [esp + 0xe8]
push eax
lea edx, [esi + ecx]
push edx
call fcn.0048da10
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
test ebp, ebp
je 0x4164b7
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.0048da10
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x4164b7
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x41794c.14
cmp byte [esp + 0x33c], 0
je 0x416d6f
mov eax, dword [esp + 0xe2ac]
mov ecx, dword [esp + 0x94]
mov edi, dword [eax + 0x170]
mov edx, dword [esp + 0x18]
mov bl, byte [esp + 0x1e]
mov dword [eax + 0x170], ecx
cmp byte [edx], 0x7b
je 0x416c6b
test bl, bl
jne 0x416c6b
cmp dword [esp + 0x48], 0
jne 0x41808f
mov esi, eax
cmp dword [esi + 0x48], 0
je 0x416c3b
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
je 0x4180a0
push 0
push 0
push 0
push 0
push 0
push 3
lea ecx, [esp + 0x354]
push ecx
mov ecx, esi
call fcn.00419e40
test eax, eax
je 0x416c97
mov dword [esi + 0x370], 0
mov ebp, esi
jmp 0x416d0d
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x416cb9
dec eax
mov ebp, dword [esp + 0xe2ac]
je 0x416ca5
dec eax
jne 0x416d0d
lea edx, [esp + 0x33c]
push edx
push ebp
call fcn.0041e7e0
test eax, eax
jne 0x416d0d
lea ecx, [esp + 0x4c]
call fcn.00414a80
jmp 0x418336
lea eax, [esp + 0x33c]
push eax
push ebp
call fcn.0041e330
test eax, eax
je 0x416c97
jmp 0x416d0d
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x4180c0
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x834c]
push edx
lea eax, [esp + 0x340]
push eax
push ebp
call fcn.0041d890
test eax, eax
je 0x416c97
test bl, bl
je 0x416d0d
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041bff0
test eax, eax
je 0x416c97
mov dword [ebp + 0x370], 0
cmp dword [esp + 0x48], 0
mov byte [esp + 0x33c], 0
je 0x416d69
test bl, bl
jne 0x416d69
mov ebx, dword [esp + 0x18]
lea ecx, [ebx + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416d31
cmp al, 9
jne 0x416d34
inc ecx
jmp 0x416d27
cmp byte [ecx], 0
jne 0x416d44
mov dword [ebp + 0x170], edi
jmp case.0x41794c.14
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416d50
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
push ebx
call fcn.00485ca0
add esp, 0xc
mov dword [ebp + 0x170], edi
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0x7d
mov ebx, dword [esp + 0xe2ac]
jne 0x416e4c
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x416e4c
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x416e4c
cmp dword [ebx + 0x164], 0
je 0x416dd4
mov eax, dword [ebx + 0x168]
mov dword [ebx + 0x164], 0
test eax, eax
je 0x416e0a
push eax
call fcn.004850d8
add esp, 4
mov dword [ebx + 0x168], 0
jmp 0x416e0a
dec eax
mov dword [ebx + 0x48], eax
mov edi, dword [ebx + eax*4 + 0x4c]
call fcn.0046c0c0
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + edx*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [ebx + 0x60]
push 0x2e
push esi
call fcn.004872ba
add esp, 8
test eax, eax
je 0x416e07
mov byte [eax], 0
jmp 0x416e0a
mov byte [esi], 0
lea eax, [ebp + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416e1c
cmp cl, 9
jne 0x416e1f
inc eax
jmp 0x416e10
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x41794c.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416e30
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x370], 0
jmp 0x416bd2
cmp dword [ebx + 0x164], 0
je 0x416f18
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
jne 0x416f18
push 3
push 0x49a8cc
push ebp
call fcn.00485b40
add esp, 0xc
test eax, eax
je 0x416e97
push 3
push 0x49a8d0
push ebp
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x4180eb
lea esi, [ebp + 3]
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x416eaa
cmp al, 9
jne 0x416ead
inc esi
jmp 0x416ea0
mov al, byte [esi]
test al, al
je 0x416ec5
cmp al, 0x7b
jne 0x4180eb
cmp byte [esi + 1], 0
jne 0x4180eb
mov eax, dword [ebx + 0x168]
lea edx, [esp + 0x33c]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416ed4
lea ecx, [esp + 0x33c]
push 0x2e
push ecx
call fcn.004860b1
mov dl, byte [ebp]
mov byte [eax + 1], dl
mov eax, dword [ebx + 0x170]
add esp, 8
cmp byte [esi], 0x7b
mov dword [esp + 0x94], eax
sete byte [esp + 0x1e]
mov dword [esp + 0x48], 0
jmp case.0x41794c.14
mov edi, dword [esp + 0x18]
lea ebx, [esp + 0x1e]
mov eax, edi
call fcn.00416180
test al, al
je 0x416f61
lea edx, [esp + 0x33c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416f36
mov ecx, dword [esp + 0xe2ac]
mov edx, dword [ecx + 0x170]
mov dword [esp + 0x94], edx
mov dword [esp + 0x48], 0
jmp case.0x41794c.14
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
jne 0x417112
lea ecx, [esp + 0x1e]
push ecx
mov eax, edi
call fcn.00416230
add esp, 4
test eax, eax
je 0x416fbb
lea edx, [esp + 0x33c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416f90
mov edx, dword [esp + 0xe2ac]
mov eax, dword [edx + 0x170]
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], 1
jmp case.0x41794c.14
mov ebx, dword [esp + 0xe2ac]
cmp dword [ebx + 0x48], 0
je 0x417112
mov esi, edi
mov edi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x416fec
push 0x107
push eax
call fcn.004865fe
add esp, 8
test eax, eax
jne 0x416ff6
mov al, byte [esi]
cmp al, 0x5f
je 0x416ff6
cmp al, 0x2e
jne 0x416ff9
inc esi
jmp 0x416fd0
cmp esi, edi
jbe 0x417097
mov al, byte [esi]
cmp al, 0x20
je 0x41700b
cmp al, 9
jne 0x41700e
inc esi
jmp 0x417001
mov al, byte [esi]
cmp al, 0x3a
jne 0x417030
cmp byte [esi + 1], 0x3d
jne 0x417030
push 0
push edi
push ebx
call fcn.0041e990
test eax, eax
je 0x416c97
jmp case.0x41794c.14
test al, al
je 0x417042
cmp al, 0x5b
je 0x417042
cmp al, 0x7b
jne 0x417097
cmp byte [esi + 1], 0
jne 0x417097
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417047
sub eax, edx
cmp byte [eax + edi - 1], 0x7b
sete cl
mov byte [esp + 0x1e], cl
test cl, cl
je 0x417068
dec eax
mov esi, edi
call fcn.00412b40
lea edx, [esp + 0x33c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417073
mov ecx, dword [ebx + 0x170]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x48], 2
jmp case.0x41794c.14
push 6
push 0x4998bc
push edi
call fcn.00485b40
add esp, 0xc
test eax, eax
jne 0x4170cf
mov al, byte [edi + 6]
cmp al, 0x20
je 0x4170b6
cmp al, 9
jne 0x4170cf
push 1
add edi, 7
push edi
push ebx
call fcn.0041e990
test eax, eax
je 0x416c97
jmp case.0x41794c.14
cmp byte [edi], 0x23
jne 0x4180f5
mov esi, dword [ebx + 0x170]
push edi
push ebx
call fcn.00418740
test eax, eax
je 0x416c97
cmp eax, 3
jne 0x4180f5
mov edx, dword [esp + 0x9c]
mov dword [ebx + 0x16c], edx
mov dword [ebx + 0x170], esi
jmp case.0x41794c.14
mov edi, dword [esp + 0x18]
xor esi, esi
xor ebp, ebp
cmp byte [edi], 0x3a
mov dword [esp + 0x28], esi
mov dword [esp + 0xbc], esi
jne 0x4171a2
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x4171a2
cmp cl, 0x3a
je 0x417158
push 0x3a
push eax
mov dword [esp + 0xc4], eax
call fcn.004860b1
add esp, 8
cmp eax, esi
jne 0x417155
mov dword [esp + 0x28], esi
jmp 0x4171a2
inc eax
jmp 0x417161
cmp byte [edi + 2], 0
lea eax, [edi + 2]
je 0x4171a2
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x4171a2
mov edi, eax
jmp 0x417170
mov al, byte [edi]
test al, al
je 0x417190
mov cl, byte [0x4a63cd]
lea esp, [esp]
cmp al, cl
je 0x4171f9
cmp al, 0x3a
je 0x4171f9
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417180
test ebp, ebp
jne 0x4172f6
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
xor esi, esi
push 0x49a818
push edi
call fcn.004861f2
mov ebp, eax
add esp, 8
cmp ebp, esi
je 0x417b61
cmp ebp, edi
jne 0x4171c5
cmp byte [ebp + 2], 0x3a
jne 0x4171c5
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x4171df
jmp 0x4171d0
mov al, byte [esi]
cmp al, 0x20
je 0x4171da
cmp al, 9
jne 0x4171df
dec esi
cmp esi, edi
ja 0x4171d0
mov bl, byte [esi]
mov byte [esi], 0
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x4171f6
cmp cl, 9
jne 0x41727a
inc eax
jmp 0x4171e6
mov al, byte [edi]
test al, al
je 0x417190
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x417214
cmp byte [esi], al
jne 0x417274
mov ebp, edi
mov edi, esi
inc edi
jmp 0x417170
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417226.99
movzx eax, byte [eax + 0x418408]
jmp dword [eax*4 + 0x4183e8]
mov byte [esi], 7
jmp case.0x417226.99
mov byte [esi], 8
jmp case.0x417226.99
mov byte [esi], 0xc
jmp case.0x417226.99
mov byte [esi], 0xa
jmp case.0x417226.99
mov byte [esi], 0xd
jmp case.0x417226.99
mov byte [esi], 9
jmp case.0x417226.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417253
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00485ca0
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x417274
cmp byte [esi], 0x3a
jne 0x417274
mov edi, esi
inc edi
jmp 0x417170
push 0
push 0
push eax
call fcn.0040b6d0
add esp, 0xc
mov dword [esp + 0xcc], eax
test eax, eax
je 0x4172ea
cmp eax, 4
jne 0x4172ec
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x4172c8
cmp byte [esp + 0x88], 0
je 0x4172bd
push eax
call fcn.004850d8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x418336
push eax
call fcn.004850d8
add esp, 4
jmp 0x418336
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x417b61
cmp ebp, dword [esp + 0x18]
jbe 0x417b61
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x418102
mov edi, dword [esp + 0xe2ac]
mov eax, dword [edi + 4]
test eax, eax
je 0x41732a
cmp byte [eax], 0x1a
je 0x41816f
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x417995
cmp byte [ebp], 0
je 0x417375
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x417352
cmp al, 9
jne 0x417355
inc ecx
jmp 0x417348
mov edx, ecx
sub edx, ebp
je 0x417375
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417360
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.00485ca0
add esp, 0xc
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0
je 0x4173b8
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417383
sub eax, edx
lea eax, [eax + ebx - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41739c
cmp cl, 9
jne 0x4173a3
cmp eax, ebx
je 0x4173a9
dec eax
jmp 0x417390
mov byte [eax + 1], 0
jmp 0x4173b8
mov cl, byte [eax]
cmp cl, 0x20
je 0x4173b5
cmp cl, 9
jne 0x4173b8
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0xa8], ebp
je 0x417999
cmp byte [ebp + 1], 0
je 0x417646
mov edi, dword [esp + 0x98]
mov esi, ebp
mov byte [esp + 0x15], 0
xor bl, bl
lea ebp, [esi + 1]
push 0x499ff0
push ebp
call fcn.004850c1
add esp, 8
test eax, eax
je case.0x417412.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417412.34
movzx eax, byte [eax + 0x418440]
jmp dword [eax*4 + 0x418420]
mov bl, 1
jmp case.0x417412.36
mov byte [esp + 0x15], 1
jmp case.0x417412.36
test bl, bl
jne 0x41743c
cmp byte [esp + 0x15], bl
jne 0x417443
or edi, 1
jmp case.0x417412.36
cmp byte [esp + 0x15], 0
je 0x41744d
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417412.36
or byte [esp + 0x17], 8
jmp 0x4174e1
test bl, bl
jne 0x417471
cmp byte [esp + 0x15], bl
jne 0x417478
or edi, 2
jmp case.0x417412.36
cmp byte [esp + 0x15], 0
je 0x417482
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417412.36
or byte [esp + 0x17], 2
jmp 0x4174e1
test bl, bl
jne 0x41749c
cmp byte [esp + 0x15], bl
jne 0x4174a3
or edi, 4
jmp case.0x417412.36
cmp byte [esp + 0x15], 0
je 0x4174ad
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417412.36
or byte [esp + 0x17], 0x20
jmp 0x4174e1
test bl, bl
jne 0x4174c7
cmp byte [esp + 0x15], bl
jne 0x4174ce
or edi, 8
jmp case.0x417412.36
cmp byte [esp + 0x15], 0
je 0x4174d8
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417412.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
jne 0x4173e3
push 0
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov cl, byte [esi]
test cl, cl
je 0x4175da
cmp byte [esi + 1], 0
jne 0x41755b
mov byte [esp + 0xd0], cl
cmp cl, 0xa
jne 0x417528
mov al, 0xd
jmp 0x4175dc
mov ecx, dword [esp + 0xd0]
push eax
push ecx
call dword [sym.imp.USER32.dll_VkKeyScanExA]
movzx ecx, ax
mov eax, ecx
shr eax, 8
cmp al, 0xff
jne 0x41754c
cmp cl, 0xff
je 0x4175da
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x4175dc
movzx edi, cl
test edi, 0xffffff80
jne 0x417578
push 2
push edi
call fcn.004865fe
add esp, 8
test eax, eax
je 0x417578
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x41759c
mov al, byte [esi + 1]
call fcn.00409410
cmp al, 0x4b
jne 0x41759c
push 0x10
push 0
add esi, 2
push esi
call fcn.00486a44
add esp, 0xc
jmp 0x4175dc
xor edi, edi
mov edi, edi
mov eax, dword [edi*8 + 0x4a7180]
push esi
push eax
call fcn.004850c1
add esp, 8
test eax, eax
je 0x4175d1
inc edi
cmp edi, 0x6d
jl 0x4175a0
mov eax, esi
call fcn.00411da0
movzx ecx, ax
test cx, cx
je 0x4175da
call fcn.00412500
jmp 0x4175dc
mov al, byte [edi*8 + 0x4a7184]
jmp 0x4175dc
xor al, al
mov byte [esp + 0x1c], al
test al, al
je 0x41798a
mov bl, al
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0
mov esi, ebp
je 0x41773b
xor bl, bl
lea edi, [ebp + 1]
mov byte [esp + 0x15], 0
cmp byte [edi], bl
je 0x417733
mov ebp, dword [esp + 0xa4]
push 0x499ff0
push edi
call fcn.004850c1
add esp, 8
test eax, eax
je case.0x41763f.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41763f.34
movzx eax, byte [eax + 0x4184c0]
jmp dword [eax*4 + 0x4184a0]
or bl, 0xff
mov byte [esp + 0x1c], bl
jmp 0x4175ea
mov bl, 1
jmp case.0x41763f.36
mov byte [esp + 0x15], 1
jmp case.0x41763f.36
test bl, bl
jne 0x417672
cmp byte [esp + 0x15], bl
jne 0x417679
or ebp, 1
jmp case.0x41763f.36
cmp byte [esp + 0x15], 0
je 0x417683
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41763f.36
or byte [esp + 0x16], 8
jmp 0x41771b
test bl, bl
jne 0x4176a7
cmp byte [esp + 0x15], bl
jne 0x4176ae
or ebp, 2
jmp case.0x41763f.36
cmp byte [esp + 0x15], 0
je 0x4176b8
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41763f.36
or byte [esp + 0x16], 2
jmp 0x41771b
test bl, bl
jne 0x4176d6
cmp byte [esp + 0x15], bl
jne 0x4176dd
or ebp, 4
jmp case.0x41763f.36
cmp byte [esp + 0x15], 0
je 0x4176e7
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41763f.36
or byte [esp + 0x16], 0x20
jmp 0x41771b
test bl, bl
jne 0x417701
cmp byte [esp + 0x15], bl
jne 0x417708
or ebp, 8
jmp case.0x41763f.36
cmp byte [esp + 0x15], 0
je 0x417712
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41763f.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, edi
cmp byte [esi + 1], 0
lea edi, [esi + 1]
jne 0x417613
mov dword [esp + 0xa4], ebp
mov bl, byte [esp + 0x1c]
mov ebp, dword [esp + 0x18]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov cl, byte [esi]
test cl, cl
jne 0x417773
mov byte [esp + 0x1d], 0
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x41775d
cmp bl, 3
jne 0x417769
add bl, 0x66
cmp bl, 5
ja 0x41786a
mov byte [esp + 0x27], 1
jmp 0x41786f
cmp byte [esi + 1], 0
jne 0x4177c2
mov byte [esp + 0xd4], cl
cmp cl, 0xa
jne 0x41778c
mov al, 0xd
jmp 0x417838
mov ecx, dword [esp + 0xd4]
push eax
push ecx
call dword [sym.imp.USER32.dll_VkKeyScanExA]
movzx ecx, ax
mov eax, ecx
shr eax, 8
cmp al, 0xff
jne 0x4177b3
cmp cl, 0xff
jne 0x4177b3
xor al, al
jmp 0x417838
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x417838
movzx edi, cl
test edi, 0xffffff80
jne 0x4177df
push 2
push edi
call fcn.004865fe
add esp, 8
test eax, eax
je 0x4177df
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x417803
mov al, byte [esi + 1]
call fcn.00409410
cmp al, 0x4b
jne 0x417803
push 0x10
lea eax, [esi + 2]
push 0
push eax
call fcn.00486a44
add esp, 0xc
jmp 0x417838
xor edi, edi
mov eax, dword [edi*8 + 0x4a7180]
push esi
push eax
call fcn.004850c1
add esp, 8
test eax, eax
je 0x41785d
inc edi
cmp edi, 0x6d
jl 0x417805
mov eax, esi
call fcn.00411da0
movzx ecx, ax
test cx, cx
je 0x417749
call fcn.00412500
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1d]
lea edx, [eax - 1]
cmp dl, 5
ja 0x41784c
cmp al, 3
jne 0x417856
add al, 0x66
cmp al, 5
ja 0x41774e
mov al, 1
jmp 0x417750
mov cl, byte [edi*8 + 0x4a7184]
mov byte [esp + 0x1d], cl
jmp 0x41783c
mov byte [esp + 0x27], 0
test al, al
jne 0x41787e
mov byte [esp + 0x38], 1
cmp byte [esp + 0x27], al
jne 0x417883
mov byte [esp + 0x38], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417888
sub eax, edx
cmp eax, 1
jne 0x4178a9
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x49a948
jne 0x4178ae
mov eax, 0x498831
push ebp
push eax
push 0x49a94c
mov esi, 0x20
lea edi, [esp + 0x120]
call fcn.00472330
mov esi, dword [esp + 0xb4]
add esp, 0xc
push 0x1f
lea eax, [esp + 0xf8]
push esi
push eax
call fcn.00488060
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push 7
lea ecx, [esp + 0xc8]
push ebx
push ecx
mov byte [esp + 0x11f], 0
call fcn.00488060
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcb], 0
cmp eax, 8
jae 0x41791b
mov byte [esp + eax + 0xc4], 0
cmp byte [esp + 0xc4], 0
mov dword [esp + 0xa0], 0
jne case.0x41794c.14
movzx eax, byte [esp + 0x1c]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41794c.14
movzx edx, byte [eax + 0x418530]
jmp dword [edx*4 + 0x418520]
mov edi, 0x49a1c0
mov eax, ebx
call fcn.00409440
test eax, eax
jne case.0x41794c.19
jmp case.0x41794c.14
lea eax, [esp + 0xf4]
push 0x4994e4
push eax
call fcn.004850c1
add esp, 8
test eax, eax
jne case.0x41794c.14
mov byte [esp + 0x1c], 0
mov edi, dword [esp + 0xe2ac]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [edi + 0x174], 0
je 0x4179c8
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push edi
mov byte [edi + 0x174], 0
call fcn.0041bff0
test eax, eax
je 0x418185
mov dword [edi + 0x370], esi
push 1
push edi
mov eax, ebx
call fcn.00419ce0
test eax, eax
je 0x417297
xor esi, esi
cmp byte [ebp], 0
je 0x417a2d
cmp dword [esp + 0x28], esi
jne 0x417a17
push esi
mov esi, ebp
call fcn.004096a0
movzx esi, ax
add esp, 4
test si, si
jne 0x417a17
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, edi
call fcn.00419e40
test eax, eax
je 0x416c97
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bff0
test eax, eax
je 0x417297
mov eax, dword [esp + 0x28]
test eax, eax
je 0x417a75
cmp byte [eax], 0
je 0x4181d4
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x417a4e
mov eax, 0x498831
mov ecx, dword [esp + 0xb4]
mov edx, dword [edi + 0x14]
mov edi, dword [esp + 0x28]
push ecx
push ebp
push eax
push edx
call fcn.0040c8c0
add esp, 0x10
test eax, eax
je 0x416c97
jmp case.0x41794c.14
lea eax, [esp + 0x47]
push eax
lea ecx, [esp + 0xbc]
push ecx
push ebx
call fcn.0040bed0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x417aea
test si, si
je 0x417a9f
mov word [edi + 2], si
jmp case.0x41794c.14
mov eax, edi
call fcn.0040b530
test eax, eax
jne 0x4181e1
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xe2ac]
mov eax, dword [esi + 0x14]
push edx
call fcn.0040b590
test eax, eax
je 0x4181fd
cmp byte [esp + 0x47], 0
jne 0x417ae1
cmp byte [0x4aa51b], 0
je case.0x41794c.14
mov byte [edi + 0x16], 1
jmp case.0x41794c.14
mov eax, dword [esp + 0xe2ac]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xb8]
mov edx, dword [eax + 4]
push ecx
push edx
push esi
push eax
xor bl, bl
call fcn.0040ae50
add esp, 0x10
test eax, eax
jne case.0x41794c.14
cmp dword [esp + 0xcc], 3
jne 0x416c97
mov eax, dword [esp + 0x18]
push eax
push 0x49a998
mov esi, 0x204
lea edi, [esp + 0x13c]
call fcn.00472330
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov ecx, edi
push 0x10000
push ecx
call fcn.00476b90
add esp, 0x18
jmp case.0x41794c.14
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp byte [edx + eax - 1], 0x3a
jne 0x417d5e
cmp edx, 1
je 0x41820a
mov ecx, eax
mov al, byte [ecx]
test al, al
je 0x417bb9
mov dl, byte [0x4a6367]
mov bl, byte [0x4a63cd]
cmp al, 0x20
je 0x417d5e
cmp al, 9
je 0x417d5e
cmp al, dl
je 0x417d5e
cmp al, bl
je 0x417d5e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417b91
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [eax + ebx - 2], 0x3a
jne 0x417bd1
cmp eax, 2
ja 0x417d5e
dec eax
mov byte [eax + ebx], 0
cmp byte [ebx], 0
je 0x417297
cmp eax, 0xffffffff
jne 0x417bf9
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417bf0
sub eax, edx
lea eax, [eax + ebx - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x417c0c
cmp cl, 9
jne 0x417c13
cmp eax, ebx
je 0x417c19
dec eax
jmp 0x417c00
mov byte [eax + 1], 0
jmp 0x417c28
mov cl, byte [eax]
cmp cl, 0x20
je 0x417c25
cmp cl, 9
jne 0x417c28
mov byte [eax], 0
cmp byte [ebx], 0
je 0x417297
mov ebp, dword [esp + 0xe2ac]
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp esi, edi
je 0x417c59
mov eax, dword [esi + 4]
push ebx
push eax
call fcn.004850c1
add esp, 8
test eax, eax
je 0x417c97
mov esi, dword [esi + 0x10]
cmp esi, edi
jne 0x417c41
cmp byte [ebx], 0
je 0x417cb1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417c63
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046f800
mov esi, eax
test esi, esi
je 0x418056
test edi, edi
je 0x417c8f
push edi
push ebx
push esi
call fcn.0048da10
add esp, 0xc
mov byte [esi + edi], 0
xor edi, edi
jmp 0x417cb6
push ebx
push 0x49ad58
mov ecx, ebp
call fcn.0042e860
cmp eax, edi
je 0x417297
jmp case.0x41794c.14
mov esi, 0x498831
cmp dword [0x4abce0], edi
jne 0x417ccc
call fcn.0046f870
mov dword [0x4abce0], eax
cmp eax, edi
je 0x417d25
mov ecx, dword [0x4abce4]
cmp dword [ecx + 8], 0x14
jae 0x417cea
call fcn.0046f870
mov ecx, dword [0x4abce4]
mov dword [ecx + 0xc], eax
cmp eax, edi
je 0x417d25
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4abce8], eax
mov dword [ecx + 4], edx
cmp eax, edi
je 0x417d25
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], vtable.Label.0
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0xc], ecx
cmp dword [ebp + 0x10], 0
mov edi, eax
jne 0x417d34
mov dword [ebp + 0x10], eax
jmp 0x417d3a
push 0x498831
push 0x499f48
jmp 0x417c9d
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x10], eax
push str.OnClipboardChange
push esi
mov dword [ebp + 0x14], eax
call fcn.004850c1
add esp, 8
test eax, eax
jne case.0x41794c.14
mov dword [ebp + 0x5ac], edi
jmp case.0x41794c.14
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2ac]
jne 0x417da0
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.00418740
test eax, eax
je 0x417297
cmp eax, 3
jne 0x417da0
mov eax, dword [esp + 0x9c]
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], esi
jmp case.0x41794c.14
mov al, byte [ebx]
cmp al, 0x7b
je 0x417dc8
cmp al, 0x7d
je 0x417dc8
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.00419e40
test eax, eax
je 0x417297
jmp case.0x41794c.14
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x73
movzx edx, cl
push 0
push edx
push edi
call fcn.0041bff0
test eax, eax
je 0x417297
lea eax, [ebx + 1]
jmp 0x417df0
mov cl, byte [eax]
cmp cl, 0x20
je 0x417dfc
cmp cl, 9
jne 0x417dff
inc eax
jmp 0x417df0
cmp byte [eax], 0
mov dword [esp + 0x18], eax
jne 0x417f80
mov bl, byte [esp + 0x1c]
test bl, bl
je case.0x417e38.4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
dec eax
cmp eax, 9
ja case.0x417e38.4
movzx eax, byte [eax + 0x418598]
jmp dword [eax*4 + 0x418584]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x114]
push ecx
push 0x49aa2c
push edx
call fcn.004855f8
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x41710e
mov ax, word [0x49aa34]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], ax
mov cl, byte [0x49aa36]
push 0
setne al
push 1
add al, 0xc1
mov byte [esi + 2], cl
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push edi
call fcn.0041bff0
cmp byte [esp + 0x38], 0
je 0x417ed8
lea edx, [esp + 0xf4]
push edx
push 0x49aa38
push esi
call fcn.004855f8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 9
jmp 0x41710e
mov edi, dword [esp + 0xe2ac]
mov esi, dword [esp + 0x18]
mov ecx, 0x498831
cmp bl, 0x12
je 0x417eec
cmp bl, 0xa3
jbe 0x417f0c
cmp bl, 0xa5
ja 0x417f0c
movzx eax, byte [esp + 0x1d]
sub eax, 0x11
je 0x417f07
sub eax, 0x91
je 0x417f07
dec eax
jne 0x417f0c
mov ecx, 0x49aa60
jmp 0x417f0c
mov ecx, 0x49aa54
lea eax, [esp + 0xf4]
push eax
lea edx, [esp + 0xc8]
push edx
push ecx
push 0x49aa6c
xor ebx, ebx
push esi
mov dword [edi + 0x370], ebx
call fcn.004855f8
add esp, 0x14
push ebx
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push edi
call fcn.0041bff0
test eax, eax
je 0x418219
push ebx
push ebx
push ebx
push 0x67
push edi
call fcn.0041bff0
lea ecx, [esp + 0x114]
push ecx
push 0x49aa88
push esi
call fcn.004855f8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 2
jmp 0x41710e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417f83
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [edi + 0x370], 0
jmp 0x416bd2
mov dx, word [0x49aa34]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], dx
mov al, byte [0x49aa36]
push 0
setne dl
push 1
add dl, 0xc1
mov byte [esi + 2], al
lea ecx, [esp + 0x20]
movzx eax, dl
push ecx
push eax
push edi
call fcn.0041bff0
lea ecx, [esp + 0xf4]
push ecx
push 0x49aa94
push esi
call fcn.004855f8
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x20]
push edx
push 0x41
push edi
call fcn.0041bff0
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bff0
mov byte [esp + 0x1c], 0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x4344]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x418046
lea eax, [esp + 0xa28c]
mov dword [esp + 0x3c], eax
jmp 0x416463
lea ecx, [esp + 0x4344]
mov dword [esp + 0x3c], ecx
jmp 0x416463
push ebx
push 0x499f48
mov ecx, 0x4abd80
call fcn.0042e860
jmp 0x417297
mov ecx, dword [esp + 0xe2ac]
push ebx
push 0x49a824
call fcn.0042e860
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414a80
mov eax, esi
jmp 0x418338
lea edx, [esp + 0x33c]
push edx
push 0x49a88c
mov ecx, eax
jmp 0x418078
cmp dword [esi + 0x164], 0
mov eax, 0x49a88c
jne 0x4180b3
mov eax, 0x49a898
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, esi
jmp 0x418078
mov ecx, dword [esp + 0xe2ac]
lea edx, [esp + 0x33c]
push edx
push 0x49a868
call fcn.0042e860
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414a80
mov eax, esi
jmp 0x418338
push ebp
push 0x49a8d4
mov ecx, ebx
jmp 0x418078
push edi
push 0x49a898
mov ecx, ebx
jmp 0x418078
mov eax, dword [esp + 0x18]
push eax
push 0x49a8f8
mov ecx, dword [esp + 0xe2b4]
call fcn.0042e860
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x41814b
cmp byte [esp + 0x88], 0
je 0x418140
push eax
call fcn.004850d8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x418088
push eax
call fcn.004850d8
add esp, 4
mov eax, esi
jmp 0x418338
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov dword [edi + 0x370], ecx
push 0x49a930
mov ecx, edi
jmp 0x418113
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x4181b2
cmp byte [esp + 0x88], 0
je 0x4181ab
push eax
call fcn.004850d8
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
cmp eax, esi
je 0x418336
push eax
call fcn.004850d8
add esp, 4
jmp 0x418336
push ebx
push 0x49a954
mov ecx, edi
jmp 0x418113
mov ecx, dword [esp + 0xe2ac]
push ebx
mov dword [ecx + 0x370], 0
push 0x49a980
jmp 0x418078
push ebx
push 0x499f48
mov ecx, esi
jmp 0x418078
mov eax, dword [esp + 0x18]
push eax
push 0x49a9fc
jmp 0x41810c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, ebx
je 0x418245
cmp byte [esp + 0x88], bl
je 0x41823e
push eax
call fcn.004850d8
add esp, 4
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
jmp 0x4172ce
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xe2b0]
push 0x49a85c
call fcn.0042e860
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414a80
mov eax, esi
jmp 0x418338
cmp byte [esp + 0x33c], 0
je 0x4182e6
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x94]
mov esi, dword [ebp + 0x170]
mov dword [ebp + 0x170], edx
je 0x4182bd
cmp byte [esp + 0x1e], 0
mov eax, 0x49aaa4
jne 0x4182ad
mov eax, 0x49a88c
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, ebp
jmp 0x418078
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x354]
push edx
mov ecx, ebp
call fcn.00419e40
test eax, eax
je 0x416c97
mov dword [ebp + 0x170], esi
cmp dword [ebp + 0x48], 0
je 0x418306
cmp dword [esp + 0x9c], 0
jne 0x418306
lea eax, [ebp + 0x60]
push eax
push 0x49aaa4
mov ecx, ebp
jmp 0x418078
inc dword [ebp + 0x170]
lea ecx, [esp + 0x4c]
call fcn.00414a80
mov eax, 1
jmp 0x418338
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00476b90
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0xe29c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe298
ret 4