Function at 0x426ac0
Capabilities:
Check for time delay via gettickcount
Empty the recycle bin
Find taskbar
Move file
Print debug messages
Resolve function by parsing pe exports
Set environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4a003b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x968
mov eax, dword [ebp + 0x10]
push ebx
push esi
push edi
mov dword [esp + 0x8c], ecx
test eax, eax
jne 0x426af6
lea eax, [esp + 0x78]
mov esi, dword [0x4c6a44]
mov edx, eax
mov ebx, ecx
mov dword [esp + 0x38], eax
mov dword [edx], 0
mov dword [esp + 0x50], esi
mov dword [esp + 0xc], ebx
test ecx, ecx
je case.0x426e25.116
mov edi, dword [esp + 0x78]
mov edi, edi
cmp dword [0x4cb51c], 0
je 0x426b5a
cmp dword [0x4cb50c], 0
je 0x426b48
mov eax, dword [0x4cb504]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x4cb50c], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
mov dword [0x4cb51c], eax
mov dword [0x4cb504], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x4c6a44]
mov ecx, eax
sub ecx, dword [0x4cc01c]
cmp ecx, dword [edx + 0xd8]
jbe 0x426ba7
push 0
push 0
push 0
push 0
lea eax, [esp + 0x134]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x426b9c
push 1
push 0xffffffffffffffff
call fcn.004013d0
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4cc01c], eax
cmp byte [esi + 0xec], 0
jne 0x426bd8
cmp byte [esi + 0xee], 0
jne 0x426bd8
mov edx, dword [0x4cc010]
cmp edx, 0xffffffff
jle 0x426bd8
mov ecx, dword [esi + 0x28]
cmp ecx, edx
jle 0x426bd4
mov byte [esi + 0xec], 1
jmp 0x426bd8
inc ecx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 4]
mov edx, dword [esi]
cmp ecx, 0xffffffff
jl 0x426bfb
jg 0x426be9
cmp edx, 0xffffffff
jbe 0x426bfb
cmp dword [0x4cc00c], ecx
jg 0x426c0d
jl 0x426bfb
cmp dword [0x4cc008], edx
jae 0x426c0d
mov ecx, dword [esi + 0x24]
cmp ecx, 0xffffffff
jle 0x426c19
sub eax, dword [0x4cc018]
cmp eax, ecx
jb 0x426c19
push 1
push 0xa
call fcn.004013d0
add esp, 8
cmp byte [esi + 0xf8], 0
je 0x426c3a
push 1
push 0x8000012f
call fcn.004013d0
add esp, 8
cmp byte [esi + 0xf8], 0
jne 0x426c22
mov dword [0x4cbb54], ebx
cmp byte [esi + 0xf9], 0
je 0x426c82
mov ecx, dword [0x4cae3c]
mov dword [ecx*4 + 0x4cae40], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x4cae3c]
mov dword [ecx*4 + 0x4c9e70], eax
inc ecx
mov dword [0x4cae3c], ecx
cmp ecx, 0x190
jl 0x426c82
mov dword [0x4cae3c], 0
mov al, byte [ebx]
cmp al, 1
je 0x426ca9
cmp al, 0x6b
je 0x426ca9
cmp al, 0x72
je 0x426ca9
mov edx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push edx
push ebx
call fcn.0045bde0
mov edi, eax
cmp edi, 1
jne 0x42b17c
mov cl, byte [ebx]
mov byte [esp + 0xdc], cl
cmp cl, 9
jb 0x426e0d
cmp cl, 0x20
ja 0x426e0d
add dword [0x4cc008], 1
push ebx
adc dword [0x4cc00c], 0
call fcn.0042bae0
cmp eax, 3
jne 0x426d6f
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x426d0f
mov esi, dword [ebp + 0xc]
lea esp, [esp]
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x24]
push eax
push esi
push 2
call fcn.00426ac0
mov ecx, dword [ebx + 0x14]
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
je 0x426cf0
jmp 0x426d25
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x24]
push edx
push eax
push 3
call fcn.00426ac0
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x427f4e
cmp dword [ebp + 8], 3
je 0x42b176
cmp edi, 1
jne 0x42b176
test eax, eax
je 0x426d55
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x42b1bf
jmp 0x427f4a
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x21
mov dword [esp + 0xc], ebx
jne 0x427f4e
mov edx, ebx
mov eax, dword [edx + 0x18]
jmp 0x427f4a
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x21
mov dword [esp + 0xc], ebx
jne 0x426de7
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x426da5
mov esi, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x24]
push edx
push esi
push 2
call fcn.00426ac0
mov ecx, dword [ebx + 0x14]
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ecx
je 0x426d86
jmp 0x426dbb
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x24]
push eax
push edx
push 3
call fcn.00426ac0
mov edi, eax
mov eax, dword [esp + 0x24]
cmp dword [ebp + 8], 3
je 0x42b176
cmp edi, 1
jne 0x42b176
test eax, eax
je 0x427bda
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebx + 0x1c]
jne 0x42b1bf
jmp 0x427f4a
cmp dword [ebp + 8], 3
jne 0x427f4e
mov eax, 1
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, cl
add eax, 0xffffffa0
cmp eax, 0x80
ja case.0x426e25.98
movzx eax, byte [eax + 0x42b5e0]
jmp dword [eax*4 + 0x42b59c]
mov edi, 1
add dword [0x4cc008], edi
adc dword [0x4cc00c], 0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x426eb9
xor ecx, ecx
cmp dword [ebx + 0xc], edi
mov edx, eax
sete cl
mov dword [esp + 0x60], edx
mov ebx, ecx
test ebx, ebx
je 0x426e6f
mov eax, dword [esi + 0xb4]
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb4], 0
mov ecx, edx
call fcn.00401290
mov edi, eax
test ebx, ebx
je 0x426e92
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb8], 0
test edi, edi
je 0x42b17c
cmp edi, 8
je 0x42b17c
cmp dword [ebp + 8], 3
je 0x42b195
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x14]
jmp 0x427f4a
mov edx, dword [esp + 0xc]
push edx
mov bl, 1
call fcn.00444360
mov edx, eax
mov dword [esp + 0x60], edx
test edx, edx
je 0x42b4d3
cmp dword [esi + 0xb4], 0
je 0x426eef
mov eax, dword [edx + 8]
call fcn.00444420
test eax, eax
je 0x426eef
mov ebx, edi
jmp 0x426e59
xor ebx, ebx
jmp 0x426e6f
add dword [0x4cc008], 1
adc dword [0x4cc00c], 0
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x60], eax
test eax, eax
jne 0x426f27
mov ecx, dword [esp + 0xc]
push ecx
mov bl, 1
call fcn.00444360
mov dword [esp + 0x60], eax
test eax, eax
je 0x42b4d3
cmp dword [ebp + 8], 3
mov dword [esi + 0xbc], eax
je 0x42b1bc
mov edx, dword [esp + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [edx + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x42b1bc
mov dword [esp + 0xc], ecx
jmp 0x427f4e
add dword [0x4cc008], 1
mov eax, dword [esp + 0x8c]
adc dword [0x4cc00c], 0
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x426f9f
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], bx
je 0x426f9d
mov ebx, dword [0x4cb558]
test ebx, ebx
je 0x426f9d
mov ecx, dword [ebx + 4]
push edi
push ecx
call fcn.0048f769
add esp, 8
test eax, eax
je 0x426f9f
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x426f85
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x40], 0
test ebx, ebx
je 0x4270a7
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x426fd5
push 0x4a6de4
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x426fd5
mov al, 1
jmp 0x426fd7
xor al, al
lea edx, [esp + 0x60]
push edx
push eax
push ebx
xor eax, eax
call fcn.0047bf60
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4270a7
mov eax, dword [eax + 8]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x427045
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x1c]
test edx, edx
je 0x42701b
lea ebx, [ebx]
cmp edi, edx
je 0x427045
mov edx, dword [edx + 0x1c]
test edx, edx
jne 0x427010
push 0x4a3920
push 0
push str.A_Goto_Gosub_must_not_jump_into_a_block_that_doesnt_enclose_it.
call fcn.0042fec0
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esi + 0xb4]
test edx, edx
je 0x4270da
call fcn.00444420
test eax, eax
je 0x4270da
mov ebx, 1
mov dword [esi + 0xb8], edx
mov dword [esi + 0xb4], 0
mov ecx, dword [esp + 0x60]
call fcn.00401290
mov edi, eax
test ebx, ebx
je 0x427096
mov eax, dword [esi + 0xb8]
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], 0
test edi, edi
je 0x42b17c
cmp edi, 8
je 0x42b17c
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0x8c]
sete cl
movzx edx, cl
push edx
push eax
call fcn.0042fcf0
cmp dword [ebp + 8], 3
je 0x42b195
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0xc], edx
jmp 0x427f4e
xor ebx, ebx
jmp 0x427071
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
dec eax
je 0x427132
sub eax, 3
je 0x427114
sub eax, 5
jne 0x4271d2
push eax
push eax
mov eax, dword [0x4ca504]
push eax
mov eax, 1
call fcn.004157e0
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x4271d2
mov ecx, dword [0x4ca500]
push 0
push 0
push ecx
xor eax, eax
call fcn.004157e0
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x4271d2
movzx eax, byte [ebx + 1]
sub eax, 0
je 0x4271ca
dec eax
je 0x42718c
mov edx, dword [0x4ca500]
push str.Read
push edx
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x427164
mov dword [esp + 0x14], 5
jmp 0x4271d2
mov eax, dword [0x4ca500]
push 0
push 0
push eax
xor eax, eax
call fcn.004157e0
xor ecx, ecx
add esp, 0xc
test eax, eax
setne cl
mov dword [esp + 0x64], eax
add ecx, 3
mov dword [esp + 0x14], ecx
jmp 0x4271d2
mov eax, dword [0x4ca500]
push 0
push 1
push 1
push 1
call fcn.00475d20
add esp, 0x10
test eax, eax
jne 0x4271ca
mov edx, dword [0x4ca500]
push eax
push eax
push edx
call fcn.004157e0
xor ecx, ecx
add esp, 0xc
test eax, eax
setne cl
mov dword [esp + 0x64], eax
add ecx, 3
mov dword [esp + 0x14], ecx
jmp 0x4271d2
mov dword [esp + 0x14], 2
mov ecx, dword [esp + 0x14]
lea eax, [ecx - 3]
cmp eax, 7
ja case.0x4271e9.5
movzx edx, byte [eax + 0x42b670]
jmp dword [edx*4 + 0x42b664]
mov esi, dword [0x4ca504]
call fcn.00416070
mov dword [esp + 0x58], eax
test eax, eax
je 0x42b2ab
mov eax, dword [0x4ca508]
cmp word [eax], 0x31
jne 0x42722b
cmp word [eax + 2], 0
jne 0x42722b
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x5c], 1
jmp case.0x4271e9.5
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x5c], 0
jmp case.0x4271e9.5
cmp ecx, 4
jne 0x42727e
mov esi, dword [0x4ca508]
call fcn.00416070
mov dword [esp + 0x58], eax
mov eax, dword [0x4ca50c]
cmp word [eax], 0x31
jne 0x42726f
cmp word [eax + 2], 0
jne 0x42726f
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x5c], 1
jmp 0x42729c
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x5c], 0
jmp 0x42729c
mov eax, dword [0x4ca508]
call fcn.004160c0
mov dword [esp + 0x58], eax
shr eax, 2
and al, 1
mov byte [esp + 0x5c], al
je 0x42729c
and dword [esp + 0x58], 0xfffffffb
cmp dword [esp + 0x58], 0
je 0x42b2d9
mov byte [esp + 0x1b], 0
mov dword [esp + 0x24], 0
mov ebx, dword [ebx + 0x18]
cmp byte [ebx], 0x6c
mov dword [esp + 0x20], ebx
jne 0x4272c9
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x20], eax
jmp 0x4272cb
xor ebx, ebx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xac], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
cmp eax, 8
je 0x427312
mov dword [esi + 8], 1
mov dword [esi + 0xc], 0
lea ecx, [eax - 2]
cmp ecx, 8
ja case.default.0x42731e
jmp dword [ecx*4 + 0x42b678]
mov esi, dword [esp + 0xc]
cmp byte [esi + 1], 0
jbe 0x427342
xor edi, edi
mov ecx, esi
call fcn.00422f00
mov byte [esp + 0x84], 0
jmp 0x42734e
xor eax, eax
xor edx, edx
mov byte [esp + 0x84], 1
mov ecx, dword [esp + 0x84]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push eax
push ebx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x2f]
push eax
push ecx
mov edi, esi
call fcn.0042d140
mov edi, eax
jmp case.default.0x42731e
mov ebx, dword [ebp + 0xc]
mov esi, dword [esp + 0xc]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1f]
push eax
call fcn.0042d2a0
mov edi, eax
jmp case.default.0x42731e
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x23]
push edx
push eax
push ecx
call fcn.0042d490
mov edi, eax
jmp case.default.0x42731e
mov edx, dword [0x4ca508]
push 0x4aad94
push edx
call fcn.0048f769
add esp, 8
push ebx
test eax, eax
je 0x4273ea
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x23]
push ecx
push edx
push eax
call fcn.0042e480
mov edi, eax
jmp case.default.0x42731e
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x23]
push edx
push eax
push ecx
call fcn.0042e770
mov edi, eax
jmp case.default.0x42731e
lea esi, [esp + 0xec]
call fcn.00416710
mov dword [esp + 0x97c], 0
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x427476
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0xfc]
and eax, 0x7fffffff
push 0x30c
mov ecx, esi
call fcn.00473970
test al, al
je 0x427476
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x23]
push eax
push ecx
mov edx, ebx
mov ebx, dword [esp + 0x1c]
mov ecx, esi
call fcn.0042ea80
mov edi, eax
call fcn.00416670
jmp 0x42747b
mov edi, 1
lea ecx, [esp + 0xec]
mov dword [esp + 0x97c], 0xffffffff
call fcn.00416760
jmp case.default.0x42731e
cmp eax, 3
mov eax, dword [0x4ca500]
je 0x4274a6
mov eax, dword [0x4ca504]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push edx
push eax
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2f]
push edx
push eax
call fcn.0042d900
mov edi, eax
jmp case.default.0x42731e
lea ecx, [esp + 0x4f]
push ecx
cmp eax, 4
jne 0x4274fa
mov edx, dword [0x4ca500]
push 0
push edx
xor eax, eax
call fcn.004157e0
mov esi, eax
mov eax, dword [0x4ca504]
mov dword [esp + 0x94], eax
jmp 0x427514
mov eax, dword [0x4ca504]
lea edx, [esp + 0x8c]
push edx
push eax
mov eax, 1
call fcn.004157e0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x42755d
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x5c]
push esi
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
push ebx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x37]
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.0042e070
cmp byte [esp + 0x4f], 0
mov edi, eax
je case.default.0x42731e
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp case.default.0x42731e
mov edi, 1
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
test edi, edi
je 0x42b17c
cmp edi, 7
je 0x42b17c
cmp edi, 8
je 0x42b17c
cmp byte [esp + 0x1b], 0
jne 0x427f4e
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4275f2
mov edx, dword [eax + 0x1c]
mov ecx, dword [esp + 0xc]
cmp edx, dword [ecx + 0x1c]
je 0x427f4a
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 3
je case.0x426e25.116
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], edx
jmp 0x427f4e
mov eax, dword [esi + 0x100]
mov dword [esp + 0x40], eax
cmp cl, 0x70
jne 0x42765f
mov ebx, dword [0x4ca4b0]
mov eax, dword [esi + 0x104]
mov dword [esp + 0x28], eax
mov dword [esi + 0x104], 0
test ebx, ebx
je 0x42763f
call fcn.00478850
mov edi, eax
jmp 0x427644
mov edi, 1
lea esi, [esp + 0x28]
call fcn.00430710
test edi, edi
je 0x42b4d3
mov esi, dword [esp + 0x50]
mov ebx, dword [esp + 0xc]
jmp 0x427679
or eax, 1
mov dword [esi + 0x100], eax
mov ecx, dword [ebx + 0x18]
cmp byte [ecx], 0x71
je 0x427679
or eax, 2
mov dword [esi + 0x100], eax
mov dword [esp + 0x24], 0
mov ecx, dword [ebx + 0x14]
cmp byte [ecx], 0x75
jne 0x4276b2
lea esp, [esp]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x24]
push edx
push eax
push 2
call fcn.00426ac0
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x24]
mov edi, eax
cmp edx, ecx
je 0x427690
jmp 0x4276c8
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x24]
push edx
push eax
push 3
call fcn.00426ac0
mov edx, dword [esp + 0x24]
mov edi, eax
mov al, byte [esp + 0xdc]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0xc], ecx
cmp al, 0x6f
jne 0x42772c
mov eax, dword [esp + 0x40]
mov dword [esi + 0x100], eax
xor al, al
cmp byte [ecx], 0x70
jne 0x427701
cmp dword [esi + 0x104], 0
mov al, 1
jne 0x427f4e
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0xc], ecx
cmp byte [ecx], 0x71
je 0x42773d
test al, al
jne 0x4277ee
add esi, 0x104
cmp dword [esi], 0
je 0x4277ee
call fcn.00430710
mov edi, 1
jmp 0x4277ea
cmp al, 0x70
jne 0x4277ee
cmp byte [ecx], 0x71
jne 0x4277ee
cmp edi, 1
jne 0x42774e
test edx, edx
je 0x427f4e
mov ecx, dword [esp + 0xc]
mov edx, dword [esi + 0x104]
mov ebx, dword [0x4cb484]
mov dword [esp + 0x40], edx
mov edx, dword [0x4cb488]
xor eax, eax
mov dword [esp + 0x28], edx
lea edx, [esp + 0xd0]
push edx
push eax
push 3
mov dword [esi + 0x104], eax
mov dword [0x4cb484], eax
mov dword [0x4cb488], eax
call fcn.00426ac0
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x4277c5
mov eax, dword [0x4cb484]
test eax, eax
je 0x4277b6
push eax
call fcn.004900b1
add esp, 4
cmp dword [0x4cb488], 0x400000
jbe 0x4277b6
dec dword [0x4cb48c]
mov eax, dword [esp + 0x28]
mov dword [0x4cb484], ebx
mov dword [0x4cb488], eax
mov ebx, dword [esp + 0x20]
cmp ebx, 1
jne 0x42b305
cmp dword [esp + 0xd0], 0
jne 0x42b305
mov ecx, dword [esp + 0x40]
mov dword [esi + 0x104], ecx
mov edx, dword [esp + 0x24]
cmp dword [ebp + 8], 3
je 0x42b35f
cmp edi, 1
jne 0x42b35f
test edx, edx
je 0x427f4e
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx + 0x1c]
jne 0x42b354
mov dword [esp + 0xc], edx
jmp 0x427f4e
mov edx, dword [ebx + 0x14]
mov dword [esp + 0xc], edx
jmp 0x427f4e
mov ebx, dword [0x4cb484]
mov ecx, dword [0x4cb488]
mov esi, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
mov dword [0x4cb484], eax
mov dword [0x4cb488], eax
mov dword [esp + 0x9c], eax
cmp dword [esi + 0xc], eax
jne 0x427872
mov dword [esp + 0x98], 0x41
lea edi, [eax + 1]
jmp 0x4278c8
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x94]
push ecx
push eax
push esi
lea ebx, [esp + 0x2c]
call fcn.0045b840
mov ebx, dword [esp + 0x14]
mov edi, eax
cmp edi, 1
jne 0x427ae2
cmp dword [esp + 0x98], 0
jne 0x4278c8
cmp dword [esp + 0x90], ebx
jne 0x4278c8
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x9c], ebx
xor ebx, ebx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0x74
mov dword [esp + 0x10], eax
jne 0x427a90
jmp 0x4278e0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
test eax, eax
jne 0x4278fb
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x20], ecx
jmp 0x427a74
xor esi, esi
cmp dword [esp + 0x40], esi
jle 0x427a74
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x6c]
push eax
push esi
push ecx
lea ebx, [esp + 0x2c]
call fcn.0045b840
mov edi, eax
cmp edi, 1
jne 0x427a59
cmp dword [esp + 0x70], 0
jne 0x427942
mov dword [esp + 0x70], 5
mov dword [esp + 0x6c], 0
cmp dword [esp + 0x98], 0x41
jne 0x427a1c
lea edx, [esp + 0x68]
push edx
call fcn.004508b0
add esp, 4
dec eax
je 0x4279ff
dec eax
je 0x4279aa
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
cmp ecx, 6
je 0x427a11
cmp ecx, 4
jne 0x427990
cmp byte [eax + 0x17], 0
jne 0x427986
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 2
jne 0x427a11
xor ecx, ecx
lea eax, [esp + 0x68]
call fcn.00450b40
xor ecx, ecx
cmp word [eax], cx
setne cl
mov eax, ecx
jmp 0x427a30
mov eax, dword [esp + 0x70]
dec eax
cmp eax, 5
ja case.0x4279b4.3
jmp dword [eax*4 + 0x42b69c]
fild qword [esp + 0x68]
jmp 0x4279ed
fld qword [esp + 0x68]
jmp 0x4279ed
mov eax, dword [esp + 0x68]
push 1
call fcn.00414de0
jmp 0x4279ed
mov eax, dword [esp + 0x6c]
test eax, eax
je case.0x4279b4.3
fild qword [eax]
jmp 0x4279ed
mov edx, dword [esp + 0x68]
push edx
call fcn.00491562
add esp, 4
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x4279b4.6
mov eax, 1
jmp 0x427a30
push 1
lea ecx, [esp + 0x6c]
call fcn.00450a00
add esp, 4
or eax, edx
je case.0x4279b4.6
mov eax, 1
jmp 0x427a30
xor eax, eax
jmp 0x427a30
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x94]
call fcn.00450df0
add esp, 4
test eax, eax
setne bl
cmp dword [esp + 0x70], 6
jne 0x427a48
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test bl, bl
jne 0x427a63
inc esi
cmp esi, dword [esp + 0x40]
jl 0x427907
jmp 0x427a74
mov dword [esp + 0x20], 0
jmp 0x427a6e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x20], ecx
cmp esi, dword [esp + 0x40]
jl 0x427a88
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x18]
cmp byte [eax], 0x74
mov dword [esp + 0x10], eax
je 0x4278e0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x98], 6
jne 0x427aa9
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x9c], 0
je 0x427ae2
test ebx, ebx
je 0x427ad0
push ebx
call fcn.004900b1
add esp, 4
cmp dword [esp + 0x1c], 0x400000
jbe 0x427ad0
dec dword [0x4cb48c]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x427b20
cmp dword [0x4cb484], 0
je 0x427b10
mov ecx, dword [0x4cb484]
push ecx
call fcn.004900b1
add esp, 4
cmp dword [0x4cb488], 0x400000
jbe 0x427b10
dec dword [0x4cb48c]
mov edx, dword [esp + 0x1c]
mov dword [0x4cb484], ebx
mov dword [0x4cb488], edx
cmp dword [esp + 0x20], 0
je 0x427b43
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x24]
push eax
push ecx
mov ecx, dword [esp + 0x28]
push 2
call fcn.00426ac0
mov edi, eax
mov eax, dword [esp + 0x24]
jmp 0x427b49
xor eax, eax
mov dword [esp + 0x24], eax
cmp edi, 1
jne 0x4275d3
cmp dword [ebp + 8], 3
je 0x4275d3
test eax, eax
je 0x427b77
mov edx, dword [eax + 0x1c]
cmp edx, dword [esi + 0x1c]
je 0x427f4a
mov edx, dword [esp + 0x38]
mov dword [edx], eax
jmp case.0x426e25.116
mov eax, dword [esi + 0x18]
jmp 0x427f4a
cmp dword [ebx + 0xc], 1
jne 0x427b91
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0xc], ecx
jmp 0x427f4e
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x14]
lea edx, [esp + 0x24]
push edx
push eax
push 2
call fcn.00426ac0
mov edi, eax
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x427f4e
cmp dword [ebp + 8], 3
je 0x42b176
cmp edi, 1
jne 0x42b176
test eax, eax
je 0x427bda
mov ecx, dword [ebx + 0x1c]
cmp ecx, dword [eax + 0x1c]
jne 0x42b1bf
jmp 0x427f4a
mov edx, dword [ebx + 0x18]
mov dword [esp + 0xc], edx
jmp 0x427f4e
add dword [0x4cc008], 1
mov ebx, dword [esp + 0xc]
mov esi, dword [0x4ca4b0]
adc dword [0x4cc00c], 0
mov cl, byte [ebx]
mov edi, dword [0x4c6a44]
movzx edx, cl
dec edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
cmp edx, 0xe1
ja case.0x427c25.8
movzx eax, byte [edx + 0x42b938]
jmp dword [eax*4 + 0x42b6b4]
push ebx
call fcn.0043dca0
jmp 0x427f33
cmp byte [ebx + 1], 1
mov edx, dword [0x4ca504]
jbe 0x427ca8
mov eax, dword [ebx + 8]
cmp byte [eax + 0x11], 0
je 0x427c56
mov edi, 1
jmp 0x427f3d
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x427c69
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
jmp 0x427f2d
mov eax, dword [0x4ca4b4]
test eax, eax
je 0x427ca8
cmp word [edx], 0
jne 0x427ca8
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x427c85
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
dec ecx
je 0x427c9c
sub ecx, 2
jne 0x427ca8
mov eax, esi
call fcn.00478960
jmp 0x427f33
mov ecx, esi
call fcn.004786d0
jmp 0x427f33
push 1
push 0
push 0xffffffffffffffff
push edx
push esi
call fcn.00478f30
jmp 0x427f33
mov eax, dword [ebx + 8]
cmp dword [eax + 0x1c], 0
je 0x427cd6
cmp byte [eax + 0x11], 0
jne 0x427cd6
mov eax, 1
mov dword [esp + 0x14], eax
xor edi, edi
jmp 0x427d17
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x14], 0
test edi, edi
je 0x427d05
cmp word [eax], 0
jne 0x427d05
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x427d00
mov edx, dword [edi + 0xc]
mov cl, byte [edx + 0x17]
cmp cl, 1
je 0x427d68
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
push 1
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00414cb0
mov dword [esp + 0x28], eax
mov eax, dword [0x4ca508]
movzx eax, word [eax]
test ax, ax
je 0x427eba
call fcn.00409740
movzx ecx, ax
push ecx
push str.SMHD
call fcn.00490591
add esp, 8
test eax, eax
je 0x427eba
cmp dword [esp + 0x20], 0
jne 0x427d77
mov edi, 1
jmp 0x427f3d
test edi, edi
je 0x427d07
push 1
mov ecx, edi
call fcn.00414cb0
jmp 0x427d17
cmp dword [esp + 0x14], 0
je 0x427d88
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x427daa
test edi, edi
je 0x427d97
push 0
mov eax, edi
call fcn.00414de0
jmp 0x427daa
mov esi, dword [0x4ca504]
call fcn.00414bb0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
push 0
fstp qword [esp + 0x2c]
push 1
mov ecx, esi
call fcn.00401220
cmp word [eax], 0
je 0x427df0
lea ecx, [esp + 0x7c]
push ecx
push 0
push 1
mov ecx, esi
call fcn.00401220
call fcn.004758e0
add esp, 4
test eax, eax
jne 0x427e11
push 1
push eax
push 0xffffffffffffffff
push 0x4a3920
push esi
call fcn.00478f30
jmp 0x427f33
lea edx, [esp + 0xe4]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0xe8]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov edx, dword [0x4ca508]
mov ax, word [edx]
call fcn.00409740
movzx eax, ax
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x427e31.69
movzx eax, byte [eax + 0x42ba30]
jmp dword [eax*4 + 0x42ba1c]
fld qword [esp + 0x28]
fmul qword [0x4c0d80]
jmp 0x427e6c
fld qword [esp + 0x28]
fmul qword [0x4c0d78]
jmp 0x427e6c
fld qword [esp + 0x28]
fmul qword [0x4c0d70]
jmp 0x427e6c
fld qword [esp + 0x28]
fmul qword [0x4c0d68]
jmp 0x427e6c
fld qword [esp + 0x28]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
call fcn.0049e0c6
add esi, eax
adc edi, edx
mov dword [esp + 0x7c], esi
push 0
lea eax, [esp + 0x80]
lea esi, [esp + 0x144]
mov dword [esp + 0x84], edi
call fcn.00475b90
mov ecx, dword [esp + 0x20]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov eax, 2
cmp dword [esp + 0x20], eax
je 0x427f63
cmp dword [esp + 0x28], eax
je 0x427f63
cmp dword [esp + 0x14], 0
je 0x427eee
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
jmp 0x427f19
test edi, edi
je 0x427efd
push 0
mov eax, edi
call fcn.00414d60
jmp 0x427f10
mov esi, dword [0x4ca504]
call fcn.00414b80
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xbc], edx
mov edi, eax
push 0
mov eax, esi
call fcn.00414d60
add eax, edi
adc edx, dword [esp + 0xbc]
push edx
push eax
push esi
call fcn.00414c50
mov edi, eax
test edi, edi
je 0x42b17c
cmp dword [ebp + 8], 3
je 0x42b17c
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
test ebx, ebx
je case.0x426e25.116
mov esi, dword [esp + 0x50]
jmp 0x426b20
cmp dword [esp + 0x14], 0
je 0x427f74
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x427f96
test edi, edi
je 0x427f83
push 0
mov eax, edi
call fcn.00414de0
jmp 0x427f96
mov esi, dword [0x4ca504]
call fcn.00414bb0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
push 0
fstp qword [esp + 0x2c]
mov eax, esi
call fcn.00414de0
fadd qword [esp + 0x28]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00414c80
jmp 0x427f33
mov eax, dword [0x4ca508]
movzx eax, word [eax]
test ax, ax
je 0x4280b2
call fcn.00409740
movzx ecx, ax
push ecx
push str.SMHD
call fcn.00490591
add esp, 8
test eax, eax
je 0x4280b2
mov ecx, dword [0x4ca4b4]
mov edi, dword [0x4ca504]
test ecx, ecx
je 0x42801d
cmp word [edi], 0
jne 0x42801d
mov al, byte [ecx + 0x17]
test al, al
jne 0x42800a
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x42801d
test ecx, ecx
je 0x42801d
push 0
push 1
call fcn.00401220
mov edi, eax
push 0
push 1
mov ecx, esi
call fcn.00401220
push eax
lea ebx, [esp + 0x5b]
mov eax, edi
call fcn.00475c40
add esp, 4
cmp byte [esp + 0x57], 0
mov edi, eax
mov ebx, edx
je 0x42805e
push 1
push 0
push 0xffffffffffffffff
push 0x4a3920
mov eax, esi
push eax
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, dword [0x4ca508]
mov ax, word [ecx]
call fcn.00409740
movzx eax, ax
cmp eax, 0x44
je 0x42808d
cmp eax, 0x48
je 0x428084
cmp eax, 0x4d
jne 0x42809f
push 0
push 0x3c
jmp 0x428094
push 0
push 0xe10
jmp 0x428094
push 0
push 0x15180
push ebx
push edi
call fcn.0049e140
mov edi, eax
mov ebx, edx
push ebx
push edi
mov edx, esi
push edx
call fcn.00414c50
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x4280d0
cmp byte [eax + 0x11], dl
jne 0x4280d0
mov edi, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
jmp 0x428123
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x14], edx
cmp edi, edx
je 0x42810d
cmp word [eax], dx
jne 0x42810d
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x4280f5
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x42810d
mov dword [esp + 0x10], edi
cmp edi, edx
je 0x428111
push 1
mov ecx, edi
call fcn.00414cb0
jmp 0x428121
mov dword [esp + 0x10], edx
push 1
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00414cb0
cmp edi, 2
je 0x4281ae
cmp eax, 2
je 0x4281ae
cmp dword [esp + 0x14], 0
je 0x42816a
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xcc], eax
push 0
mov eax, esi
call fcn.00414d60
sub eax, edi
sbb edx, dword [esp + 0xcc]
jmp 0x427f2b
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42817b
push 0
call fcn.00414d60
jmp 0x42818e
mov esi, dword [0x4ca504]
call fcn.00414b80
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov edi, eax
push 0
mov eax, esi
mov dword [esp + 0xd0], edx
call fcn.00414d60
sub eax, edi
sbb edx, dword [esp + 0xcc]
jmp 0x427f2b
cmp dword [esp + 0x14], 0
je 0x4281bf
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x4281e3
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4281d0
push 0
call fcn.00414de0
jmp 0x4281e3
mov esi, dword [0x4ca504]
call fcn.00414bb0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
push 0
fstp qword [esp + 0x2c]
mov eax, esi
call fcn.00414de0
fsub qword [esp + 0x28]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00414c80
jmp 0x427f33
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x428223
cmp byte [eax + 0x11], dl
jne 0x428223
mov edi, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
jmp 0x428276
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x14], edx
cmp edi, edx
je 0x428260
cmp word [eax], dx
jne 0x428260
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x428248
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x428260
mov dword [esp + 0x10], edi
cmp edi, edx
je 0x428264
push 1
mov ecx, edi
call fcn.00414cb0
jmp 0x428274
mov dword [esp + 0x10], edx
push 1
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00414cb0
cmp edi, 2
je 0x4282ef
cmp eax, 2
je 0x4282ef
cmp dword [esp + 0x14], 0
je 0x4282a4
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xb4], eax
jmp 0x4282d1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4282b5
push 0
call fcn.00414d60
jmp 0x4282c8
mov esi, dword [0x4ca504]
call fcn.00414b80
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xb4], edx
mov edi, eax
push 0
mov eax, esi
call fcn.00414d60
mov ecx, dword [esp + 0xb4]
push ecx
push edi
push edx
push eax
call fcn.004961e0
jmp 0x427f2b
cmp dword [esp + 0x14], 0
je 0x428300
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428324
mov eax, dword [esp + 0x10]
test eax, eax
je 0x428311
push 0
call fcn.00414de0
jmp 0x428324
mov esi, dword [0x4ca504]
call fcn.00414bb0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
push 0
fstp qword [esp + 0x2c]
mov eax, esi
call fcn.00414de0
fmul qword [esp + 0x28]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00414c80
jmp 0x427f33
mov eax, dword [ebx + 8]
xor edx, edx
cmp dword [eax + 0x1c], edx
je 0x428364
cmp byte [eax + 0x11], dl
jne 0x428364
mov edi, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edx
jmp 0x4283b7
mov edi, dword [0x4ca4b4]
mov eax, dword [0x4ca504]
mov dword [esp + 0x14], edx
cmp edi, edx
je 0x4283a1
cmp word [eax], dx
jne 0x4283a1
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x428389
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
jne 0x4283a1
mov dword [esp + 0x10], edi
cmp edi, edx
je 0x4283a5
push 1
mov ecx, edi
call fcn.00414cb0
jmp 0x4283b5
mov dword [esp + 0x10], edx
push 1
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
mov edi, eax
push 1
mov ecx, esi
call fcn.00414cb0
cmp edi, 2
je 0x428452
cmp eax, 2
je 0x428452
cmp dword [esp + 0x14], 0
je 0x4283ed
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xa4], eax
jmp 0x42841d
cmp dword [esp + 0x10], 0
je 0x428401
mov eax, dword [esp + 0x10]
push 0
call fcn.00414d60
jmp 0x428414
mov esi, dword [0x4ca504]
call fcn.00414b80
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xa4], edx
mov edi, eax
mov ecx, edi
or ecx, dword [esp + 0xa4]
jne 0x428434
mov ecx, esi
call fcn.00414bf0
jmp 0x427f33
push 0
mov eax, esi
call fcn.00414d60
mov ecx, dword [esp + 0xa4]
push ecx
push edi
push edx
push eax
call fcn.0049e140
jmp 0x427f2b
cmp dword [esp + 0x14], 0
je 0x428463
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x428487
mov eax, dword [esp + 0x10]
test eax, eax
je 0x428474
push 0
call fcn.00414de0
jmp 0x428487
mov esi, dword [0x4ca504]
call fcn.00414bb0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
fst qword [esp + 0x28]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4284a2
mov ecx, esi
call fcn.00414bf0
jmp 0x427f33
push 0
mov eax, esi
call fcn.00414de0
fdiv qword [esp + 0x28]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00414c80
jmp 0x427f33
mov edi, 2
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x14], eax
test eax, eax
jns 0x4284de
mov dword [esp + 0x14], 0
jmp 0x4284f4
mov edi, 1
mov ecx, ebx
call fcn.00422e70
cmp dword [esp + 0x14], eax
jle 0x4284f4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4ca504]
push 1
push 0
push ecx
push edx
push esi
call fcn.00478f30
jmp 0x427f33
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422f00
mov ebx, eax
test ebx, ebx
jns 0x428525
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422e70
cmp ebx, eax
jbe 0x428539
mov ebx, eax
mov ecx, dword [0x4ca504]
push 1
push 0
sub eax, ebx
push ebx
lea eax, [ecx + eax*2]
push eax
push esi
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
cmp byte [ebx + 1], 4
jb 0x428592
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x34]
cmp word [eax], 0
je 0x428592
mov ecx, dword [esp + 0xc]
mov edi, 3
call fcn.00422f00
mov esi, eax
cmp esi, 1
jge 0x428597
mov ecx, dword [esp + 0x1c]
call fcn.00414bf0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov esi, SysReAllocString
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422f00
mov ecx, dword [0x4ca510]
mov ebx, eax
mov ax, word [ecx]
call fcn.00409740
cmp ax, 0x4c
jne 0x4285e4
cmp ebx, 1
jge 0x4285d2
mov ecx, dword [esp + 0x1c]
call fcn.00414bf0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edx, 1
sub edx, esi
add ebx, edx
cmp ebx, 1
jge 0x4285ee
lea esi, [esi + ebx - 1]
cmp ebx, 1
jge 0x4285ee
mov ebx, 1
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422e70
cmp eax, ebx
jae 0x428612
mov ecx, dword [esp + 0x1c]
call fcn.00414bf0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, edi
sub ecx, ebx
add eax, ecx
cmp esi, eax
jbe 0x42861e
mov esi, eax
mov edx, dword [0x4ca504]
mov eax, dword [esp + 0x1c]
push 1
push 0
push esi
lea ebx, [edx + ebx*2 - 2]
push ebx
push eax
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422f00
mov ebx, eax
test ebx, ebx
jns 0x428657
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422e70
cmp ebx, eax
jbe 0x42866b
mov ebx, eax
mov ecx, dword [0x4ca504]
push 1
push 0
sub eax, ebx
push eax
lea ecx, [ecx + ebx*2]
push ecx
push esi
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edi, 2
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x14], eax
test eax, eax
jns 0x4286a7
mov dword [esp + 0x14], 0
mov edi, 1
mov ecx, ebx
call fcn.00422e70
cmp dword [esp + 0x14], eax
jbe 0x4286bd
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x14]
mov edx, dword [0x4ca504]
push 1
push 0
push eax
push edx
push esi
call fcn.00478f30
jmp 0x427f33
push 1
push 1
mov ecx, esi
call fcn.00401220
mov edi, eax
cmp edi, dword [0x4ca504]
jne 0x4286fe
mov al, byte [esi + 0x17]
test al, al
jne 0x4286fa
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x428744
push 1
push 0
mov edi, 1
mov ecx, ebx
call fcn.00422e70
push eax
push 0
push esi
call fcn.00478f30
cmp eax, edi
jne case.0x427c25.8
push 0
push edi
mov ecx, esi
call fcn.00401220
mov ecx, dword [0x4ca504]
mov edi, eax
mov edx, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x428733
mov ecx, dword [0x4ca508]
movzx eax, word [ecx]
test ax, ax
je 0x428773
call fcn.00409740
cmp ax, 0x54
jne 0x428773
mov edx, dword [0x4ca508]
cmp word [edx + 2], 0
jne 0x428773
mov eax, edi
call fcn.004148f0
jmp 0x428787
cmp byte [ebx], 0x31
push edi
jne 0x428781
call dword [sym.imp.USER32.dll_CharLowerW]
jmp 0x428787
call dword [sym.imp.USER32.dll_CharUpperW]
cmp byte [esi + 0x17], 0
jne 0x428790
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 2
jne 0x4287ae
cmp dword [0x4cb510], 0
je 0x4287ae
mov ecx, 0x4cb504
call fcn.00404590
jmp 0x427f33
and byte [esi + 0x15], 0x86
mov eax, 1
jmp 0x427f33
mov eax, dword [0x4ca4b4]
test eax, eax
je 0x4287e7
cmp byte [eax + 0x17], 0
jne 0x4287d3
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x15]
jmp 0x4287d6
mov cl, byte [eax + 0x15]
test cl, 1
je 0x4287e7
call fcn.00415040
push 0
jmp 0x427f2c
mov edi, 1
mov ecx, ebx
call fcn.00422e70
push 0
jmp 0x427f2c
mov esi, dword [0x4ca50c]
movzx eax, word [esi]
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], 0xffffffff
test ax, ax
je 0x428897
call fcn.00409740
movzx edx, ax
push edx
push 0x4aae70
call fcn.00490591
add esp, 8
test eax, eax
je 0x428897
add esi, 2
cmp word [esi], 0
je 0x428897
call fcn.0040eb60
mov dword [esp + 0x20], eax
test eax, eax
jle 0x42898e
mov esi, dword [0x4ca508]
cmp word [esi], 0
jne 0x4288a1
mov dword [esp + 0x14], 0
mov eax, 0x4a3930
push 1
push 0
push 0xffffffffffffffff
push eax
mov eax, dword [0x4cad68]
push eax
call fcn.00478f30
mov eax, dword [esp + 0x14]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x28]
call fcn.004010e0
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x427f3d
mov dword [esp + 0x20], 1
jmp 0x42884c
mov eax, dword [0x4ca504]
mov ecx, dword [esp + 0xc]
mov edi, 4
mov dword [esp + 0x40], eax
call fcn.00422f00
mov ebx, eax
test ebx, ebx
jns 0x4288c0
xor ebx, ebx
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422e70
mov edi, eax
cmp ebx, edi
jge 0x42898e
mov ecx, dword [esp + 0x28]
movzx eax, word [ecx]
cmp eax, 0x31
je 0x428957
call fcn.00409740
cmp ax, 0x52
je 0x428957
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422e70
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov edi, 1
lea ecx, [edx + ebx*2]
lea ecx, [ecx]
mov eax, dword [0x4c6a44]
mov al, byte [eax + 0xf2]
test al, al
jne 0x428928
mov eax, esi
call fcn.00476270
jmp 0x428943
cmp al, 2
jne 0x428939
push ecx
mov eax, esi
call fcn.004764e0
add esp, 4
jmp 0x428943
push esi
push ecx
call fcn.004905b8
add esp, 8
test eax, eax
je 0x42898e
cmp edi, dword [esp + 0x20]
je 0x42897a
mov ecx, dword [esp + 0x28]
inc edi
lea ecx, [eax + ecx*2]
jmp 0x428910
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 0xf2]
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x44]
push ecx
push esi
mov eax, edi
sub eax, ebx
push edx
call fcn.00476060
add esp, 0x10
test eax, eax
je 0x42898e
sub eax, dword [esp + 0x40]
sar eax, 1
mov dword [esp + 0x14], eax
jns 0x428860
mov eax, 0x4a6284
jmp 0x428865
push ebx
call fcn.0043e0b0
jmp 0x427f33
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca504]
call fcn.00433d10
jmp 0x427f33
mov edx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
mov ecx, dword [0x4ca504]
push edx
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.0043e2c0
jmp 0x427f33
mov ecx, dword [0x4ca500]
push ecx
mov eax, ebx
call fcn.0043eab0
jmp 0x427f33
mov edx, dword [0x4ca500]
mov ecx, dword [0x4ca504]
push edx
push ebx
call fcn.0043f130
jmp 0x427f33
push 0
push ecx
mov edi, 7
mov ecx, ebx
call fcn.00422f00
add esp, 4
push eax
mov edi, 6
mov ecx, ebx
call fcn.00422f00
push eax
push ecx
mov edi, 5
mov ecx, ebx
call fcn.00422f00
add esp, 4
push eax
mov edi, 4
mov ecx, ebx
call fcn.00422f00
push eax
push ecx
mov edi, 3
mov ecx, ebx
call fcn.00422f00
add esp, 4
push eax
mov edi, 2
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [0x4ca520]
push eax
push ebx
call fcn.0043a060
jmp 0x427f33
mov eax, dword [0x4ca518]
push eax
push ecx
mov edi, 5
mov ecx, ebx
call fcn.00422f00
add esp, 4
push eax
mov edi, 4
mov ecx, ebx
call fcn.00422f00
push eax
push ecx
mov edi, 3
mov ecx, ebx
call fcn.00422f00
add esp, 4
push eax
mov edi, 2
mov ecx, ebx
call fcn.00422f00
push eax
push ebx
call fcn.0043a870
jmp 0x427f33
mov ecx, dword [0x4ca50c]
push ecx
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00422f00
mov edi, 1
mov ecx, ebx
mov esi, eax
call fcn.00422f00
add esp, 4
mov ecx, eax
push ebx
mov eax, esi
call fcn.004529b0
jmp 0x427f33
mov edx, dword [edi + 0xd4]
xor eax, eax
cmp cl, 0x42
mov ecx, dword [0x4ca500]
sete al
push 0
push edx
push eax
push ecx
call fcn.0040f0f0
add esp, 0x10
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
xor edx, edx
cmp dword [edi + 0xd4], 3
push 0
sete dl
lea edx, [edx + edx + 1]
push edx
push 0
push eax
call fcn.0040f0f0
add esp, 0x10
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca500]
push 0
push 2
push 0
push ecx
call fcn.0040f0f0
add esp, 0x10
mov edi, 1
jmp 0x427f3d
mov edx, dword [0x4ca500]
push 0
push 0
push 0
push edx
call fcn.0040f0f0
add esp, 0x10
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
push eax
call fcn.00411290
add esp, 4
jmp 0x427f33
mov edx, dword [0x4ca518]
mov eax, dword [0x4ca514]
push 0x4a3920
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push edx
mov edx, dword [0x4ca508]
push eax
mov eax, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
mov eax, 0x4a3920
push ecx
call fcn.00411500
add esp, 0x20
jmp 0x427f33
mov edx, dword [0x4ca514]
mov eax, dword [0x4ca518]
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push 0x4a3920
push 0x4a3920
push eax
mov eax, dword [0x4ca50c]
push edx
mov edx, dword [0x4ca500]
push ecx
call fcn.00411500
add esp, 0x20
jmp 0x427f33
mov eax, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push 0x4a3920
push eax
mov eax, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push 0x4a3920
push 0x4a3920
push eax
push edx
mov eax, 0x4a3920
mov edx, eax
push ecx
call fcn.00411500
add esp, 0x20
jmp 0x427f33
mov edi, 4
mov ecx, ebx
call fcn.00422f00
push eax
mov ecx, ebx
call fcn.0043d0c0
jmp 0x427f33
mov edx, dword [0x4ca504]
mov ebx, dword [0x4ca508]
mov esi, dword [0x4ca500]
cmp cl, 0x78
sete al
push 0
movzx ecx, al
mov eax, dword [0x4ca50c]
push 0
push ecx
push edx
push edi
call fcn.00479be0
add esp, 0x14
test eax, eax
je 0x428ccf
mov eax, dword [0x4c6a44]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x428ccf
push 1
push eax
call fcn.004013d0
add esp, 8
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca500]
push 9
push str.ahk_group
push ecx
call fcn.0048ffb7
add esp, 0xc
test eax, eax
jne 0x428d12
mov edx, dword [0x4ca504]
cmp word [edx], ax
jne 0x428d12
mov eax, dword [0x4ca50c]
cmp word [eax], 0
mov byte [esp + 0x3f], 1
je 0x428d17
mov byte [esp + 0x3f], 0
mov al, byte [ebx]
xor ecx, ecx
cmp byte [esp + 0x3f], cl
setne cl
lea esi, [ecx - 1]
and esi, 0x14
cmp al, 0x84
je 0x428d77
cmp al, 0x85
je 0x428d77
mov edx, dword [0x4ca508]
cmp word [edx], 0
je 0x428db4
mov ebx, dword [esp + 0xc]
mov al, byte [ebx]
cmp al, 0x84
je 0x428e1c
cmp al, 0x85
je 0x428e1e
mov edx, dword [0x4ca508]
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca50c]
push eax
call fcn.00435c50
jmp 0x427f33
mov eax, dword [0x4ca508]
cmp word [eax], 0
je 0x428da8
mov edi, 2
mov ecx, ebx
call fcn.00422fb0
fmul qword [0x4c0cd8]
call fcn.0049e090
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
jne 0x428da8
mov esi, 0x1f4
mov ecx, dword [0x4ca510]
cmp word [ecx], 0
jne 0x428d3c
cmp byte [esp + 0x3f], 0
je 0x428d3c
mov eax, dword [0x4ca500]
add eax, 0x12
call fcn.004097c0
cmp word [eax], 0
mov dword [esp + 0x28], eax
je 0x428d3c
mov ebx, dword [0x4cb558]
test ebx, ebx
je 0x428d3c
mov edx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
push edx
push eax
call fcn.0048f769
add esp, 8
test eax, eax
je 0x428e05
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x428de4
jmp 0x428d3c
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx]
push ebx
mov edx, esi
call fcn.0047bd90
mov ebx, dword [esp + 0xc]
jmp 0x427f33
cmp al, 0x85
mov ecx, dword [0x4ca510]
mov ebx, dword [0x4ca500]
sete dl
movzx eax, dl
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca50c]
push ecx
push esi
push edx
push edi
call fcn.00479ef0
jmp 0x428cb0
mov ebx, dword [0x4ca504]
call fcn.004399c0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca500]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.0042fcf0
jmp 0x427f33
lea edx, [esp + 0xe0]
push edx
push 0x3a98
push 1
push str.Environment
push 0
push 0x1a
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
push edx
push ebx
call fcn.00454150
jmp 0x427f33
mov eax, dword [0x4ca500]
mov ecx, 0x4cc020
call fcn.00473540
mov eax, dword [0x4ca504]
mov ecx, 0x4cc02c
call fcn.00473540
mov eax, dword [0x4ca508]
mov ecx, 0x4cc038
call fcn.00473540
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca508]
mov eax, str.UseErrorLevel
call fcn.00476270
mov ecx, dword [esp + 0xc]
test eax, eax
setne bl
mov al, 3
cmp al, byte [ecx + 1]
mov ecx, dword [0x4ca508]
sbb edx, edx
and edx, dword [0x4ca4bc]
mov byte [esp + 0xd4], bl
mov eax, dword [esp + 0xd4]
push edx
push 1
push eax
push 0
test bl, bl
sete dl
push ecx
mov ecx, dword [0x4ca504]
movzx eax, dl
mov edx, dword [0x4ca500]
push eax
push ecx
push 0
push 0x4cb520
call fcn.00430ef0
test bl, bl
je 0x428f93
test eax, eax
mov eax, 0x4a3930
jne 0x428f80
mov eax, str.ERROR
mov edx, dword [0x4cad68]
push 1
push 0
push 0xffffffffffffffff
push eax
push edx
call fcn.00478f30
mov ebx, dword [esp + 0xc]
jmp 0x427f33
push ebx
call fcn.00435d30
jmp 0x427f33
cmp byte [ebx + 1], 2
jbe 0x428fe9
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca51c]
call fcn.00436440
jmp 0x427f33
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
push 0x4a3920
push 0x4a3920
push 0x4a3920
push edx
mov ecx, 0x4a3920
push eax
mov eax, ecx
mov edx, ecx
call fcn.00436440
jmp 0x427f33
mov ecx, dword [0x4ca528]
mov edx, dword [0x4ca524]
mov eax, dword [0x4ca520]
push ecx
mov ecx, dword [0x4ca51c]
push edx
mov edx, dword [0x4ca518]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca514]
push eax
push ebx
call fcn.00452df0
jmp 0x427f33
mov eax, dword [0x4ca510]
xor edx, edx
cmp cl, 0x47
mov ecx, dword [0x4ca50c]
sete dl
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push eax
push ebx
call fcn.00436560
jmp 0x427f33
mov esi, dword [0x4ca50c]
push 1
xor bl, bl
call fcn.0040eb90
add esp, 4
mov byte [esp + 0xd8], al
test al, al
jne 0x4290e2
mov ecx, dword [0x4ca50c]
push ecx
mov ecx, dword [esp + 0x10]
push 0
push str.Parameter_4_invalid.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edx, dword [0x4ca510]
cmp word [edx], 0
je 0x4290fe
mov ecx, dword [esp + 0xc]
mov edi, 4
call fcn.00422f00
jmp 0x429103
mov eax, 1
mov ecx, dword [0x4ca518]
mov edx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca500]
push edx
mov edx, dword [0x4ca514]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [0x4ca504]
push eax
mov eax, dword [esp + 0xec]
push eax
push ecx
mov ecx, dword [0x4ca51c]
call fcn.00436620
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edx, dword [0x4ca51c]
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca50c]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca520]
push edx
mov edx, dword [0x4ca514]
push ebx
call fcn.00436c90
jmp 0x427f33
mov eax, dword [0x4ca520]
mov ecx, dword [0x4ca51c]
mov edx, dword [0x4ca518]
push eax
mov eax, dword [0x4ca514]
push ecx
mov ecx, dword [0x4ca510]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00436ec0
jmp 0x427f33
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
push ecx
push edx
push ebx
call fcn.00437010
jmp 0x427f33
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca504]
push ebx
call fcn.004371f0
jmp 0x427f33
mov eax, dword [0x4ca510]
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca504]
mov esi, dword [0x4ca500]
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push eax
call fcn.00437300
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca508]
push ebx
call fcn.004373c0
jmp 0x427f33
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.00453130
jmp 0x427f33
mov edx, dword [0x4ca51c]
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
push edx
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
push eax
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.00453900
jmp 0x427f33
mov edx, dword [0x4ca510]
mov ecx, dword [0x4ca514]
mov eax, dword [0x4ca50c]
mov edi, dword [0x4ca504]
push edx
mov edx, dword [0x4ca508]
call fcn.00437b60
jmp 0x427f33
mov eax, dword [0x4ca518]
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca51c]
push edx
mov edx, dword [0x4ca50c]
call fcn.00437bd0
jmp 0x427f33
cmp cl, 0x92
sete al
movzx ecx, al
push ecx
mov eax, ebx
call fcn.00437d10
jmp 0x427f33
mov edx, dword [0x4ca504]
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push ebx
call fcn.00438030
jmp 0x427f33
mov eax, dword [0x4ca514]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ebx
call fcn.004386c0
jmp 0x427f33
cmp byte [ebx + 1], 1
jbe 0x4293d9
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca510]
push edx
mov edx, dword [0x4ca500]
call fcn.00438aa0
jmp 0x427f33
mov esi, dword [0x4ca500]
mov ecx, 0x4a3920
push 0x4a3920
mov eax, ecx
mov edx, ecx
call fcn.00444220
test eax, eax
je 0x4293fe
push esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, 1
jmp 0x427f33
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca508]
call fcn.00438ad0
jmp 0x427f33
mov ecx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
mov edx, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca510]
call fcn.00438c30
jmp 0x427f33
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca508]
push eax
push ecx
mov ecx, dword [0x4ca514]
push ebx
call fcn.00438d50
jmp 0x427f33
mov edx, dword [0x4ca50c]
mov ecx, dword [0x4ca510]
mov eax, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push ebx
call fcn.004395e0
jmp 0x427f33
mov eax, dword [0x4ca51c]
mov ecx, dword [0x4ca518]
mov edx, dword [0x4ca514]
push eax
mov eax, dword [0x4ca510]
push ecx
push edx
push eax
mov eax, ebx
call fcn.00439840
jmp 0x427f33
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push ebx
call fcn.00439aa0
jmp 0x427f33
push 0
push 0x1a3
push 0x111
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov edx, dword [0x4c6a44]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle 0x429510
push 1
push eax
call fcn.004013d0
add esp, 8
mov edi, 1
jmp 0x427f3d
push 0
push 0x1a0
push 0x111
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [0x4c6a44]
mov eax, dword [eax + 0x54]
cmp eax, 0xffffffff
jle 0x429510
push 1
push eax
call fcn.004013d0
add esp, 8
mov edi, 1
jmp 0x427f3d
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x429595
mov edi, dword [0x4ca500]
cmp word [edi], ax
je 0x429595
mov eax, 0x4cb520
call fcn.0041bfc0
test eax, eax
jne 0x429595
mov ecx, dword [0x4ca500]
push ecx
push eax
push str.Target_label_does_not_exist.
mov ecx, ebx
call fcn.0042fec0
jmp 0x427f33
mov dword [0x4cbfb0], eax
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca508]
mov dl, 1
cmp dl, byte [ebx + 1]
mov edx, dword [0x4ca504]
sbb eax, eax
and eax, dword [0x4ca4b4]
push eax
mov eax, dword [0x4ca500]
push ecx
mov ecx, dword [ebx + 0xc]
push edx
push eax
call fcn.0040abc0
add esp, 0x10
jmp 0x427f33
mov edi, dword [ebx + 0xc]
test edi, edi
jne 0x429685
push edi
mov edi, dword [0x4ca500]
mov eax, esi
mov ebx, 0x4cb520
call fcn.0041c000
mov edi, eax
test edi, edi
jne 0x429685
mov eax, dword [0x4ca500]
mov ecx, dword [esp + 0xc]
cmp word [eax], di
je 0x429621
push eax
push edi
push str.Target_label_does_not_exist.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
cmp byte [ecx + 1], 0
jbe 0x42964d
mov edx, dword [ecx + 8]
mov eax, dword [edx + 4]
cmp word [eax], 0
je 0x42964d
push 0x4a3920
push 0
push str.Parameter_1_invalid.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xbc]
test edi, edi
jne 0x429685
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x42966b
mov edi, dword [eax]
test edi, edi
jne 0x429685
push 0x4a3920
push 0
push str.Parameter_1_must_not_be_blank_in_this_case.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov eax, dword [0x4ca504]
push 0
push 1
push 1
push 1
call fcn.00475d20
add esp, 0x10
test eax, eax
jne 0x42973d
mov esi, dword [0x4ca504]
push eax
call fcn.00409860
add esp, 4
test eax, eax
jne 0x429705
mov eax, dword [0x4ca504]
push str.Delete
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x4296e5
push edi
push 0x4cb520
call fcn.0041bed0
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca504]
push ecx
mov ecx, dword [esp + 0x10]
push 0
push str.Parameter_2_invalid.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
jle 0x42973d
cmp eax, 2
jg 0x42973d
mov ecx, dword [0x4ca508]
cmp eax, 1
sete dl
push 0
movzx eax, dl
push eax
push ecx
push 0x4a3920
push edi
mov edi, 0x4cb520
call fcn.0041bbf0
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
mov edx, dword [0x4ca508]
jne 0x429759
cmp word [edx], 0
je 0x429759
mov al, 1
jmp 0x42975b
xor al, al
push eax
push 1
push edx
push ecx
push edi
mov edi, 0x4cb520
call fcn.0041bbf0
mov ebx, dword [esp + 0xc]
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
cmp word [eax], 0
mov esi, 0x10
je 0x4297ae
push 0x4aaf0c
push eax
call fcn.0048f769
add esp, 8
test eax, eax
je 0x4297ae
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov edi, dword [esp + 0x10]
mov esi, eax
test esi, esi
je 0x4297b3
mov eax, 1
mov byte [edi + 0xee], al
test al, al
je 0x4297dd
or eax, 0xffffffff
mov dword [edi + 0xd8], esi
mov byte [edi + 0xec], 0
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 0x24], eax
lea edi, [eax + 2]
jmp 0x427f3d
mov dword [edi + 0xd8], 5
mov byte [edi + 0xec], 1
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
call fcn.00415e10
dec eax
je 0x4298ad
dec eax
je 0x42985e
dec eax
jne 0x428ccf
mov edx, dword [0x4ca504]
cmp word [edx], ax
je 0x42984a
mov ecx, dword [esp + 0xc]
lea edi, [eax + 1]
call fcn.00422f00
or eax, edx
jne 0x429846
mov ebx, dword [esp + 0xc]
mov eax, edi
mov edi, dword [esp + 0x10]
mov byte [edi + 0xed], al
mov edi, eax
jmp 0x427f3d
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
xor eax, eax
mov byte [edi + 0xed], al
lea edi, [eax + 1]
jmp 0x427f3d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42987c
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422f00
mov dword [0x4cc014], eax
mov ecx, dword [0x4ca508]
cmp word [ecx], 0
je 0x428ccf
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422f00
mov ebx, dword [esp + 0xc]
mov dword [0x4cc010], eax
mov edi, 1
jmp 0x427f3d
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422f00
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [edx + 0x2c], eax
jmp 0x427f3d
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x4298ee
mov edi, dword [0x4ca500]
push 1
push 0x4cb520
call fcn.00423c70
mov esi, eax
test esi, esi
je case.0x427c25.8
mov edi, dword [0x4ca50c]
cmp word [edi], 0
je 0x42992b
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x429928
mov eax, 0x4cb520
call fcn.0041bfc0
test eax, eax
jne 0x429928
mov eax, dword [0x4ca50c]
push eax
push 0
push str.Target_label_does_not_exist.
mov ecx, ebx
call fcn.0042fec0
jmp 0x427f33
mov dword [esi + 0x10], eax
mov ecx, dword [0x4ca514]
mov edx, dword [0x4ca510]
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
push eax
push ecx
push esi
call fcn.0047ba60
jmp 0x427f33
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x429990
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], si
je 0x4299cb
mov esi, dword [0x4cb558]
test esi, esi
je 0x4299cb
mov edi, edi
mov edx, dword [esi + 4]
push edi
push edx
call fcn.0048f769
add esp, 8
test eax, eax
je 0x429990
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x429970
lea edi, [esi + 1]
jmp 0x427f3d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x4299c1
push 0x4a6de4
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x4299c1
mov al, 1
mov ecx, esi
push eax
call fcn.0047c0e0
mov edi, 1
jmp 0x427f3d
xor al, al
mov ecx, esi
push eax
call fcn.0047c0e0
mov edi, 1
jmp 0x427f3d
mov esi, dword [ebx + 0xc]
test esi, esi
jne 0x429a20
mov eax, dword [0x4ca500]
mov edi, eax
cmp word [eax], si
je 0x429a8a
mov esi, dword [0x4cb558]
test esi, esi
je 0x429a8a
lea ebx, [ebx]
mov eax, dword [esi + 4]
push edi
push eax
call fcn.0048f769
add esp, 8
test eax, eax
je 0x429a20
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x429a00
lea edi, [esi + 1]
jmp 0x427f3d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x429a81
push 0x4a9550
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x429a51
push esi
xor edx, edx
mov cl, 0x84
call fcn.0047bd90
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x429a81
push 0x4a6de4
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x429a81
mov al, 1
push eax
push esi
call fcn.0047be50
mov edi, 1
jmp 0x427f3d
xor al, al
push eax
push esi
call fcn.0047be50
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
call fcn.0043fcb0
jmp 0x427f33
test esi, esi
jne 0x429ac2
lea edi, [esi + 1]
mov ecx, ebx
call fcn.00422f00
call fcn.004145d0
jmp 0x427f3d
mov eax, dword [0x4ca504]
push 0
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
cmp eax, 2
je 0x429afa
mov eax, dword [0x4ca508]
push 0
push 1
push 0
push 1
call fcn.00475d20
add esp, 0x10
cmp eax, 2
jne 0x429b86
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x429b14
mov edi, 1
mov ecx, ebx
call fcn.00422fb0
jmp 0x429b16
fldz
mov eax, dword [0x4ca508]
fst qword [esp + 0x28]
cmp word [eax], 0
je 0x429b50
mov edi, 2
fstp st(0)
mov ecx, ebx
call fcn.00422fb0
fst qword [esp + 0x40]
fld qword [esp + 0x28]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x429b5c
fstp qword [esp + 0x28]
fstp qword [esp + 0x40]
jmp 0x429b60
fld qword [0x4c0d60]
fst qword [esp + 0x40]
jmp 0x429b3d
fstp st(0)
fstp st(0)
call fcn.00414740
fld qword [esp + 0x40]
fld qword [esp + 0x28]
sub esp, 8
fsub st(1), st(0)
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push esi
call fcn.00414c80
jmp 0x427f33
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x429ba4
mov ecx, dword [esp + 0xc]
mov edi, 1
call fcn.00422f00
mov ebx, eax
jmp 0x429ba6
xor ebx, ebx
mov edx, dword [0x4ca508]
cmp word [edx], 0
je 0x429bc4
mov ecx, dword [esp + 0xc]
mov edi, 2
call fcn.00422f00
mov esi, eax
jmp 0x429bc9
mov esi, SysReAllocString
cmp ebx, esi
jle 0x429bd3
mov eax, ebx
mov ebx, esi
mov esi, eax
call fcn.004146f0
mov ecx, eax
mov eax, ebx
cdq
mov edi, eax
mov dword [esp + 0x28], edx
mov eax, esi
cdq
sub eax, edi
sbb edx, dword [esp + 0x28]
add eax, 1
adc edx, 0
push edx
push eax
push 0
push ecx
call fcn.0049eba0
add eax, ebx
jmp 0x42887b
mov ecx, dword [0x4ca504]
push 1
push ebx
call fcn.0043fdd0
jmp 0x427f33
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca500]
push edx
push ebx
call fcn.0043ff10
jmp 0x427f33
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push ebx
call fcn.004401c0
jmp 0x427f33
mov eax, dword [0x4ca50c]
mov edx, dword [0x4ca504]
push eax
xor eax, eax
cmp cl, 0x9d
sete al
push edx
dec eax
and eax, dword [0x4ca500]
push eax
push ebx
call fcn.004407e0
jmp 0x427f33
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x429c8d
mov edi, 1
mov ecx, ebx
call fcn.00422f00
dec eax
jmp 0x429c8f
xor eax, eax
cdq
test edx, edx
jg 0x429ca0
jl 0x429c9a
test eax, eax
jae 0x429ca0
xor eax, eax
mov dword [esp + 0x2c], eax
cmp byte [ebx], 0x9f
push eax
jne 0x429cb6
mov esi, dword [esp + 0x10]
call fcn.004418f0
mov ebx, esi
jmp 0x427f33
mov edi, dword [0x4ca500]
mov ebx, dword [esp + 0x10]
call fcn.004419e0
jmp 0x427f33
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x429ce6
mov edi, 1
mov ecx, ebx
call fcn.00422f00
mov esi, eax
jmp 0x429ceb
mov esi, 0x96
mov eax, dword [0x4ca500]
cmp word [eax], 0
je 0x429d11
xor edi, edi
mov ecx, ebx
call fcn.00422f00
push esi
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, 1
jmp 0x427f3d
mov eax, 0x20b
push esi
push eax
call dword [sym.imp.KERNEL32.dll_Beep]
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x429d4a
push str.wait
push eax
call fcn.0048f769
add esp, 8
test eax, eax
je 0x429d6f
mov eax, dword [0x4ca504]
push 0x4a6284
push eax
call fcn.0048f769
add esp, 8
test eax, eax
je 0x429d6f
xor al, al
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.00441b40
jmp 0x427f33
mov eax, 1
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.00441b40
jmp 0x427f33
cmp byte [ebx + 1], 2
jae 0x429d90
mov edi, dword [edi + 0x18]
jmp 0x429d92
xor edi, edi
mov ecx, dword [0x4ca500]
mov edx, dword [0x4ca504]
push edi
push ecx
push edx
push ebx
call fcn.00442ea0
jmp 0x427f33
mov ecx, dword [0x4ca504]
push ebx
call fcn.00442590
jmp 0x427f33
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca508]
push eax
push ebx
call fcn.00442b10
jmp 0x427f33
mov esi, dword [0x4ca500]
mov edi, dword [esp + 0xc]
call fcn.004432a0
mov ebx, edi
jmp 0x427f33
mov eax, dword [0x4ca500]
mov edi, ebx
call fcn.00454db0
jmp 0x427f33
mov ecx, dword [0x4ca500]
movzx eax, word [ecx]
neg eax
sbb eax, eax
push 7
and eax, ecx
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHEmptyRecycleBinW]
test eax, eax
setne cl
movzx edx, cl
push edx
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov eax, dword [0x4ca500]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push eax
push ebx
call fcn.00443310
jmp 0x427f33
add edi, 0x30
push edi
push 0
mov edi, 2
mov ecx, ebx
call fcn.00422f00
cmp eax, 1
mov eax, dword [0x4ca504]
sete cl
movzx edx, cl
mov ecx, dword [0x4ca500]
push edx
push eax
call fcn.00455440
add esp, 0x10
test eax, eax
jne 0x429ec6
mov ecx, dword [0x4cad68]
push 1
push eax
push 0xffffffffffffffff
push 0x4a3930
push ecx
call fcn.00478f30
jmp 0x427f33
add edi, 0x30
push edi
push 1
mov edi, 2
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [0x4ca504]
cmp eax, 1
sete dl
movzx eax, dl
push eax
push ecx
mov ecx, dword [0x4ca500]
call fcn.00455440
add esp, 0x10
push eax
push ebx
call fcn.0042fdb0
jmp 0x427f33
push 0
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00422f00
dec eax
add esp, 4
neg eax
sbb eax, eax
inc eax
mov edx, dword [0x4ca504]
push eax
mov eax, dword [0x4ca500]
push edx
push eax
call fcn.00455090
add esp, 0x10
test al, al
sete cl
movzx edx, cl
push edx
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov eax, dword [0x4ca508]
mov ax, word [eax]
call fcn.00409740
cmp ax, 0x52
jne 0x429f4f
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca500]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
sete al
movzx ecx, al
push ecx
push ebx
call fcn.0042fcf0
jmp 0x427f33
push 1
push ecx
mov edi, 2
mov ecx, ebx
call fcn.00422f00
add esp, 4
jmp 0x429eea
mov eax, dword [0x4ca500]
push 0
push eax
call fcn.004424b0
add esp, 8
test al, al
sete cl
mov byte [esp + 0x78], cl
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x4c6a44]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x78]
push eax
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov ecx, dword [0x4ca500]
cmp word [ecx], 0
je 0x429fdb
mov edi, 1
mov ecx, ebx
call fcn.00422f00
cmp eax, edi
sete dl
movzx eax, dl
push eax
mov eax, dword [0x4ca500]
call fcn.00455350
add esp, 4
test al, al
je 0x429fdb
xor al, al
push eax
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov eax, 1
push eax
push ebx
call fcn.0042fcf0
jmp 0x427f33
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a009
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a009
mov eax, 0x4a3920
mov edi, ebx
call fcn.004434c0
jmp 0x427f33
mov ebx, dword [0x4ca504]
cmp word [ebx], 0
jne 0x42a033
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42a033
mov ebx, 0x4a3920
mov ecx, dword [esp + 0xc]
mov edi, 3
call fcn.00422f00
mov esi, dword [0x4ca508]
cmp eax, 1
sete cl
movzx edx, cl
push edx
call fcn.00416070
push eax
mov eax, dword [esp + 0x14]
push ebx
push eax
mov eax, dword [0x4ca500]
call fcn.004435d0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a08d
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a08d
mov eax, 0x4a3920
mov ecx, dword [0x4ca508]
movzx edx, word [ecx]
push edx
mov edi, ebx
call fcn.00443c40
jmp 0x427f33
mov ebx, dword [0x4ca504]
cmp word [ebx], 0
jne 0x42a0c1
mov edi, dword [edi + 0x10]
lea ebx, [edi + 0x250]
test edi, edi
jne 0x42a0c1
mov ebx, 0x4a3920
mov ecx, dword [esp + 0xc]
mov edi, 4
call fcn.00422f00
mov esi, dword [0x4ca50c]
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.00416070
mov edx, dword [0x4ca508]
mov edi, dword [esp + 0x10]
push eax
movzx eax, word [edx]
push eax
mov eax, dword [0x4ca500]
push ebx
call fcn.00443dc0
mov ebx, edi
jmp 0x427f33
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a124
mov ecx, dword [0x4ca508]
push ecx
mov edi, eax
push ebx
call fcn.00443f80
jmp 0x427f33
mov edi, dword [edi + 0x10]
test edi, edi
je 0x42a143
mov ecx, dword [0x4ca508]
push ecx
add edi, 0x250
push ebx
call fcn.00443f80
jmp 0x427f33
mov ecx, dword [0x4ca508]
push ecx
mov edi, 0x4a3920
push ebx
call fcn.00443f80
jmp 0x427f33
mov eax, dword [0x4ca504]
cmp word [eax], 0
jne 0x42a177
mov edi, dword [edi + 0x10]
lea eax, [edi + 0x250]
test edi, edi
jne 0x42a177
mov eax, 0x4a3920
push ebx
call fcn.00454ec0
jmp 0x427f33
mov eax, dword [0x4ca500]
call fcn.00441d70
xor edx, edx
cmp dword [edi + 0x104], edx
sete dl
mov edi, edx
jmp 0x427f35
mov eax, dword [0x4ca510]
mov ecx, dword [0x4ca504]
mov edx, dword [0x4ca508]
push eax
push ecx
mov ecx, dword [0x4ca50c]
push ebx
call fcn.00441e30
jmp 0x427f33
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca50c]
push edx
push eax
mov edx, ebx
call fcn.004544d0
jmp 0x427f33
mov ecx, dword [0x4ca500]
push ecx
push ebx
call fcn.004547e0
jmp 0x427f33
mov edx, dword [0x4ca520]
mov eax, dword [0x4ca51c]
mov ecx, dword [0x4ca518]
mov ebx, dword [0x4ca510]
mov edi, dword [0x4ca50c]
push edx
mov edx, dword [0x4ca514]
push eax
mov eax, dword [0x4ca504]
push ecx
mov ecx, dword [0x4ca500]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [0x4ca508]
push edx
call fcn.00454b60
mov ebx, dword [esp + 0xc]
jmp 0x427f33
push 0
mov ecx, 4
call fcn.0043c230
add esp, 4
jmp 0x427f33
mov esi, dword [0x4ca500]
push 7
call fcn.00409860
add esp, 4
cmp eax, 7
jne 0x42a27f
push 0
lea ecx, [eax - 6]
call fcn.0043c230
mov ebx, dword [esp + 0x10]
add esp, 4
jmp 0x427f33
cmp byte [edi + 0xf9], 0
je 0x42a2ab
mov ecx, dword [0x4cae3c]
test ecx, ecx
jle 0x42a295
dec ecx
jmp 0x42a29a
mov ecx, 0x18f
mov dword [0x4cae3c], ecx
mov dword [ecx*4 + 0x4cae40], 0
mov ebx, dword [esp + 0xc]
cmp eax, 1
sete al
mov byte [edi + 0xf9], al
mov edi, 1
jmp 0x427f3d
push 0
mov ecx, 2
call fcn.0043c230
add esp, 4
jmp 0x427f33
push 0
mov ecx, 3
call fcn.0043c230
add esp, 4
jmp 0x427f33
mov ebx, dword [0x4c6a44]
add ebx, 0x4c
call fcn.0045d260
test eax, eax
je 0x42a30d
mov ecx, dword [0x4c6a44]
mov edx, dword [ecx + 0x4c]
mov esi, dword [edx + 4]
jmp 0x42a30f
xor esi, esi
mov ebx, dword [esp + 0xc]
mov al, byte [ebx + 1]
test al, al
jne 0x42a331
fldz
sub esp, 8
fstp qword [esp]
push esi
push 0
push 0x10000
push str.Press_OK_to_continue.
jmp 0x42a378
cmp al, 1
jne 0x42a34d
fldz
mov eax, dword [0x4ca500]
sub esp, 8
fstp qword [esp]
push esi
push 0
push 0x10000
push eax
jmp 0x42a378
mov edi, 3
mov ecx, ebx
call fcn.00422fb0
mov ecx, dword [0x4ca504]
sub esp, 8
fstp qword [esp]
push esi
push ecx
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov edx, dword [0x4ca508]
push eax
push edx
call fcn.0047ab10
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x42a3af
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x59e
jne 0x42a3af
mov eax, dword [0x4ca500]
push eax
push esi
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ebx, dword [esp + 0xc]
xor ecx, ecx
test esi, esi
setne cl
mov edi, ecx
jmp 0x427f35
mov edx, dword [0x4ca51c]
cmp word [edx], 0
je 0x42a3df
mov edi, 7
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x40], eax
jmp 0x42a3e7
mov dword [esp + 0x40], SysStringLen
mov eax, dword [0x4ca518]
cmp word [eax], 0
je 0x42a404
mov edi, 6
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x20], eax
jmp 0x42a40c
mov dword [esp + 0x20], SysStringLen
mov ecx, dword [0x4ca514]
cmp word [ecx], 0
je 0x42a42a
mov edi, 5
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x14], eax
jmp 0x42a432
mov dword [esp + 0x14], SysStringLen
mov edx, dword [0x4ca510]
cmp word [edx], 0
je 0x42a450
mov edi, 4
mov ecx, ebx
call fcn.00422f00
mov dword [esp + 0x1c], eax
jmp 0x42a458
mov dword [esp + 0x1c], SysStringLen
mov edi, 9
mov ecx, ebx
call fcn.00422fb0
mov eax, dword [0x4ca528]
mov ecx, dword [0x4ca520]
sub esp, 8
fstp qword [esp]
push eax
mov ax, word [ecx]
call fcn.00409740
mov ecx, dword [esp + 0x4c]
cmp ax, 0x4c
sete dl
movzx eax, dl
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [0x4ca50c]
push edx
push eax
mov ax, word [ecx]
call fcn.00409740
mov edx, dword [0x4ca508]
mov edi, dword [esp + 0x38]
cmp ax, 0x48
mov eax, dword [0x4ca504]
push edx
push eax
sete cl
push esi
call fcn.0043c500
add esp, 0x28
jmp 0x427f33
mov ecx, dword [0x4ca504]
cmp word [ecx], 0
je 0x42a4e8
mov edi, 1
mov ecx, ebx
call fcn.00422f00
mov esi, eax
jmp 0x42a4ea
xor esi, esi
mov edx, dword [0x4ca500]
cmp word [edx], 0
je 0x42a501
xor edi, edi
mov ecx, ebx
call fcn.00422f00
jmp 0x42a506
mov eax, 0xc8
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push ecx
push edx
push esi
push eax
call fcn.00452b80
jmp 0x427f33
mov eax, dword [0x4ca56c]
test eax, eax
je 0x42a540
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x42a540
mov eax, dword [0x4ca56c]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x4ca56c], 0
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
mov eax, dword [0x4ca508]
push 0
push ecx
mov ecx, dword [0x4ca504]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
push edx
push ebx
mov ecx, 0x4a3920
call fcn.004326a0
jmp 0x427f33
mov eax, dword [0x4ca514]
mov ecx, dword [0x4ca510]
mov edx, dword [0x4ca50c]
push 1
push eax
mov eax, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
push edx
push eax
push ecx
mov ecx, dword [0x4ca500]
push ebx
call fcn.004326a0
jmp 0x427f33
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
mov ecx, dword [0x4ca500]
push edx
push eax
push ecx
mov ecx, dword [0x4ca50c]
push ebx
call fcn.00433900
jmp 0x427f33
mov edx, dword [0x4ca504]
mov eax, dword [0x4ca500]
mov edi, dword [0x4ca50c]
mov esi, dword [0x4ca508]
push edx
push eax
call fcn.00433c10
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov ecx, ebx
call fcn.00434f40
jmp 0x427f33
mov esi, dword [0x4ca504]
call fcn.00416300
mov esi, dword [0x4ca500]
movzx ebx, ax
call fcn.00416370
movzx ecx, ax
cmp ecx, 0xffffffff
je 0x428889
cmp ebx, 0xffffffff
je 0x428889
mov eax, 3
shl ax, cl
shl bx, cl
not ax
and ax, word [edi + 0xf0]
or ax, bx
mov ebx, dword [esp + 0xc]
mov word [edi + 0xf0], ax
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0xef], al
cmp al, 0x64
jbe 0x42a68d
mov byte [ecx + 0xef], 2
mov edi, 1
jmp 0x427f3d
mov ecx, dword [edi + 0xd4]
mov eax, dword [0x4ca500]
push ecx
call fcn.00415fe0
mov dword [edi + 0xd4], eax
add esp, 4
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
cmp eax, 0x64
ja 0x42a6d3
mov edx, dword [esp + 0x10]
mov byte [edx + 0xf6], al
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca508]
push str.Play
push eax
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x42a732
mov ecx, dword [0x4ca500]
cmp word [ecx], ax
je 0x42a70f
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov edx, dword [esp + 0x10]
mov dword [edx + 0x60], eax
mov eax, dword [0x4ca504]
cmp word [eax], 0
je 0x42a76d
mov edi, 1
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x68], eax
jmp 0x427f3d
mov edx, dword [0x4ca500]
cmp word [edx], 0
je 0x42a74e
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x5c], eax
mov edx, dword [0x4ca504]
cmp word [edx], 0
je 0x42a76d
mov edi, 1
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x64], eax
mov edi, 1
jmp 0x427f3d
mov edx, dword [0x4ca504]
push str.Play
push edx
call fcn.0048f769
add esp, 8
xor edi, edi
mov ecx, ebx
test eax, eax
jne 0x42a7a9
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x70], eax
mov edi, 1
jmp 0x427f3d
call fcn.00422f00
mov edx, dword [esp + 0x10]
mov dword [edx + 0x6c], eax
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x54], eax
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
mov edx, dword [esp + 0x10]
mov dword [edx + 0x58], eax
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca500]
mov eax, 0x4aaf4c
call fcn.00476270
mov ecx, ebx
test eax, eax
je 0x42a82e
mov dword [edi], 0xffffffff
mov dword [edi + 4], 0xffffffff
xor edi, edi
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x24], eax
mov edi, 1
jmp 0x427f3d
mov dword [edi + 0x24], 0xffffffff
xor edi, edi
call fcn.00422f00
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], edx
mov edx, eax
or edx, dword [ecx + 4]
mov dword [ecx], eax
jne 0x42a855
mov dword [ecx], 0xa
mov dword [ecx + 4], edi
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
push 7
call fcn.00409860
add esp, 4
cmp eax, 7
je 0x428889
mov ebx, dword [esp + 0xc]
cmp eax, 1
sete al
mov byte [edi + 0xf3], al
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
call fcn.00415ae0
dec eax
cmp eax, 5
ja case.default.0x42a8a7
jmp dword [eax*4 + 0x42ba40]
mov ebx, dword [esp + 0xc]
mov dword [edi + 0x20], 1
mov edi, 1
jmp 0x427f3d
mov ebx, dword [esp + 0xc]
mov dword [edi + 0x20], 2
mov edi, 1
jmp 0x427f3d
mov ebx, dword [esp + 0xc]
mov dword [edi + 0x20], 4
mov edi, 1
jmp 0x427f3d
mov ebx, dword [esp + 0xc]
mov dword [edi + 0x20], 3
mov edi, 1
jmp 0x427f3d
mov ebx, dword [esp + 0xc]
mov byte [edi + 0xe9], 1
mov edi, 1
jmp 0x427f3d
mov ebx, dword [esp + 0xc]
mov byte [edi + 0xe9], 0
mov edi, 1
jmp 0x427f3d
mov edx, dword [0x4ca500]
push 5
push str.Float
push edx
call fcn.0048ffb7
add esp, 0xc
test eax, eax
jne 0x42aa15
lea edi, [eax + 1]
mov ecx, ebx
call fcn.00422e70
cmp eax, 0x1e
jae 0x427f3d
mov ecx, dword [esp + 0xc]
call fcn.00422f00
mov edi, eax
mov eax, dword [0x4ca504]
push 0x2e
push eax
mov ebx, edx
call fcn.00490591
mov esi, eax
add esp, 8
mov dword [esp + 0x28], esi
test esi, esi
je 0x42a992
add esi, 2
call fcn.00414b80
mov esi, dword [esp + 0x28]
jmp 0x42a996
xor eax, eax
xor edx, edx
add edi, eax
adc ebx, edx
add edi, 2
adc ebx, 0
mov dword [esp + 0x2c], ebx
js 0x42a9b8
jg 0x428889
cmp edi, 0xff
ja 0x428889
mov eax, dword [0x4ca504]
push 0
push 1
push 1
push 1
call fcn.00475d20
add esp, 0x10
mov ecx, 0x4aaf54
test eax, eax
jne 0x42a9db
mov ecx, 0x4a3920
mov eax, 0x4a3920
test esi, esi
jne 0x42a9e9
mov eax, 0x4a9da8
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [0x4ca504]
push eax
push ecx
add edx, 0x74
push 0x4aaf58
push edx
call fcn.0048fb73
mov ebx, dword [esp + 0x20]
add esp, 0x14
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
push 7
push str.Integer
push eax
call fcn.0048ffb7
add esp, 0xc
test eax, eax
jne case.0x42aa46.69
mov ecx, dword [0x4ca504]
movzx eax, word [ecx]
add eax, 0xffffffbc
cmp eax, 0x24
ja case.0x42aa46.69
movzx edx, byte [eax + 0x42ba64]
jmp dword [edx*4 + 0x42ba58]
mov byte [edi + 0xf5], 0x44
mov edi, 1
jmp 0x427f3d
mov al, byte [ecx]
mov byte [edi + 0xf5], al
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca504]
call fcn.0043d490
jmp 0x427f33
movzx eax, byte [ebx + 1]
mov dl, 4
cmp dl, al
sbb ecx, ecx
and ecx, dword [0x4ca4c0]
mov dl, 3
push ecx
mov ecx, dword [0x4ca514]
cmp dl, al
mov edx, dword [0x4ca510]
sbb eax, eax
and eax, dword [0x4ca4bc]
push eax
mov eax, dword [0x4ca50c]
push ecx
mov ecx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca500]
push eax
push ecx
mov ecx, dword [0x4ca504]
push edx
push 0x4cb520
call fcn.0046b7d0
jmp 0x427f33
mov eax, dword [0x4ca50c]
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca504]
push eax
push ecx
mov ecx, dword [0x4ca500]
push edx
push 0x4cb520
call fcn.0045d2d0
jmp 0x427f33
mov edx, dword [0x4ca504]
mov al, 2
cmp al, byte [ebx + 1]
mov eax, dword [0x4ca500]
sbb ecx, ecx
and ecx, dword [0x4ca4b8]
push ecx
push edx
push eax
mov eax, dword [0x4ca508]
push ebx
call fcn.0045dc30
jmp 0x427f33
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
mov eax, dword [0x4ca504]
push ecx
push edx
push eax
push ebx
call fcn.0045ec00
jmp 0x427f33
mov eax, dword [0x4ca500]
mov esi, eax
call fcn.00409920
test eax, eax
jne 0x42ab79
push str.Permit
push esi
call fcn.0048f769
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffa
add eax, 6
jmp switch.0x0042ab7e
cmp eax, 7
ja case.0x42ab7e.3
jmp dword [eax*4 + 0x42ba8c]
cmp byte [0x4ca6c2], 0
jne case.0x42ab7e.3
call fcn.0042f9a0
mov edi, 1
jmp 0x427f3d
cmp byte [0x4ca6c2], 0
je case.0x42ab7e.3
call fcn.0042f9a0
mov edi, 1
jmp 0x427f3d
mov ecx, dword [0x4ca500]
push ecx
push 0
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.0042fec0
jmp 0x427f33
mov edi, 1
mov ecx, ebx
call fcn.00422f00
test eax, eax
setne dl
movzx eax, dl
push eax
mov eax, dword [0x4ca500]
call fcn.00409920
push eax
push ebx
call fcn.0042f9f0
jmp 0x427f33
mov esi, dword [0x4ca500]
push 7
call fcn.00409860
add esp, 4
cmp eax, 7
je 0x428889
mov ebx, dword [esp + 0xc]
cmp eax, 1
sete cl
mov byte [edi + 0xf4], cl
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
call fcn.00415e70
mov byte [edi + 0xf2], al
cmp al, 4
jne 0x428889
mov ebx, dword [esp + 0xc]
mov byte [edi + 0xf2], 0
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
push 7
call fcn.00409860
add esp, 4
cmp eax, 7
je 0x428889
mov ebx, dword [esp + 0xc]
cmp eax, 1
sete dl
mov byte [edi + 0xea], dl
mov edi, 1
jmp 0x427f3d
mov esi, dword [0x4ca500]
push 7
call fcn.00409860
add esp, 4
cmp eax, 7
je 0x428889
mov ebx, dword [esp + 0xc]
cmp eax, 1
sete al
mov byte [edi + 0xeb], al
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
call fcn.00415f30
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x42acde.3
movzx ecx, byte [ecx + 0x42bac4]
jmp dword [ecx*4 + 0x42baac]
push 1
call dword [sym.imp.USER32.dll_BlockInput]
mov byte [0x4cad76], 1
mov edi, 1
jmp 0x427f3d
push 0
call dword [sym.imp.USER32.dll_BlockInput]
mov byte [0x4cad76], 0
mov edi, 1
jmp 0x427f3d
mov dword [0x4c6a54], eax
mov edi, 1
jmp 0x427f3d
or byte [0x4cada8], 2
cmp dword [0x4ca698], 0
mov byte [0x4cad77], 1
jne case.0x42acde.3
mov edx, dword [0x4c7b80]
movzx eax, word [edx]
push eax
call fcn.00407fe0
add esp, 4
mov edi, 1
jmp 0x427f3d
mov byte [0x4cad77], 0
mov edi, 1
jmp 0x427f3d
mov eax, dword [0x4ca500]
mov edi, 0x4c6a48
mov cl, 0x90
call fcn.00444140
jmp 0x427f33
mov eax, dword [0x4ca500]
mov edi, 0x4c6a4c
mov cl, 0x14
call fcn.00444140
jmp 0x427f33
mov eax, dword [0x4ca500]
mov edi, 0x4c6a50
mov cl, 0x91
call fcn.00444140
jmp 0x427f33
mov al, 1
mov edx, 0x4cb520
call fcn.004178e0
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
jmp 0x429505
mov ecx, dword [0x4ca504]
mov ebx, dword [0x4ca50c]
mov edx, dword [0x4ca508]
push ecx
mov ecx, dword [0x4ca510]
call fcn.004724f0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edx, dword [0x4ca500]
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4ca50c]
mov ebx, dword [0x4ca508]
push edx
mov edx, dword [0x4ca504]
push eax
call fcn.00472730
mov ebx, dword [esp + 0xc]
jmp 0x427f33
cmp byte [ebx + 1], 3
mov edx, dword [0x4ca504]
sbb ecx, ecx
not ecx
and ecx, dword [0x4ca508]
push ecx
push edx
mov edx, dword [0x4ca500]
push ebx
call fcn.00472880
jmp 0x427f33
mov eax, 2
cmp byte [ebx + 1], al
jae 0x42ae73
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42ae73
lea ecx, [edi + 8]
push ecx
mov ecx, dword [edi + 4]
lea eax, [edi + 0x808]
push ebx
call fcn.00472900
jmp 0x427f33
lea edx, [esp + 0x37]
push edx
mov edx, dword [0x4ca504]
lea ecx, [esp + 0x4c]
push ecx
push edx
call fcn.004157e0
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov esi, eax
test ecx, ecx
jne 0x42aea7
mov ecx, dword [0x4ca508]
mov eax, dword [0x4ca50c]
mov dword [esp + 0x48], ecx
jmp 0x42aeac
mov eax, dword [0x4ca508]
push ecx
push ebx
mov ecx, esi
call fcn.00472900
cmp byte [esp + 0x37], 0
mov edi, eax
je 0x427f35
test esi, esi
je 0x427f35
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x427f35
mov eax, 2
cmp byte [ebx + 1], al
jae 0x42af0c
mov edi, dword [edi + 0x14]
test edi, edi
je 0x42af0c
mov eax, dword [0x4ca500]
push eax
mov eax, dword [edi + 4]
lea ecx, [edi + 0x808]
push ecx
mov ecx, dword [edi + 0x1008]
lea edx, [edi + 8]
push edx
push ebx
call fcn.00472cb0
jmp 0x427f33
lea ecx, [esp + 0x37]
push ecx
mov ecx, dword [0x4ca504]
lea edx, [esp + 0x4c]
push edx
push ecx
call fcn.004157e0
mov ebx, eax
mov eax, dword [esp + 0x54]
add esp, 0xc
test eax, eax
jne 0x42af46
mov eax, dword [0x4ca508]
mov ecx, dword [0x4ca50c]
mov edx, dword [0x4ca510]
mov dword [esp + 0x48], eax
jmp 0x42af52
mov ecx, dword [0x4ca508]
mov edx, dword [0x4ca50c]
mov esi, dword [0x4ca500]
push edx
push ecx
push eax
call fcn.004159b0
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov eax, ebx
call fcn.00472cb0
cmp byte [esp + 0x37], 0
mov edi, eax
je 0x42af82
test ebx, ebx
je 0x42af82
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [esp + 0xc]
jmp 0x427f35
cmp byte [ebx + 1], 1
jae 0x42b007
mov eax, dword [edi + 0x14]
test eax, eax
je 0x42b007
cmp dword [eax + 0x1008], 0xfffffffe
lea ecx, [eax + 8]
jne 0x42afe2
cmp word [ecx], 0
je 0x42afd8
add eax, 0x808
push eax
push ecx
push 0x4a84f0
mov esi, 0x400
lea edi, [esp + 0x14c]
call fcn.00475ec0
add esp, 0xc
mov ecx, edi
mov edi, dword [esp + 0x10]
xor eax, eax
jmp 0x42afe7
lea ecx, [eax + 0x808]
xor eax, eax
jmp 0x42afe7
add eax, 0x808
mov edx, dword [esp + 0xc]
push eax
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + 4]
push edx
mov edi, ecx
mov dword [esp + 0x50], ecx
call fcn.004730c0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
mov edx, dword [0x4ca500]
lea eax, [esp + 0x37]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edx
mov eax, 2
call fcn.004157e0
mov edi, dword [esp + 0x54]
add esp, 0xc
mov ebx, eax
test edi, edi
jne 0x42b041
mov edi, dword [0x4ca504]
mov esi, dword [0x4ca508]
mov dword [esp + 0x48], edi
jmp 0x42b047
mov esi, dword [0x4ca504]
cmp word [esi], 0
jne 0x42b051
xor esi, esi
jmp 0x42b068
push str.ahk_default
push esi
call fcn.0048f769
add esp, 8
test eax, eax
jne 0x42b068
mov esi, 0x4a3920
mov eax, dword [esp + 0xc]
push esi
push eax
call fcn.004730c0
cmp byte [esp + 0x37], 0
mov edi, eax
je 0x42af82
test ebx, ebx
je 0x42af82
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [esp + 0xc]
jmp 0x427f35
mov esi, dword [0x4ca500]
call fcn.00415a30
mov esi, eax
cmp esi, 0xffffffff
jne 0x42b0ca
mov ecx, dword [0x4ca500]
push ecx
mov ecx, dword [esp + 0x10]
push 0
push str.Parameter_1_invalid.
call fcn.0042fec0
mov ebx, dword [esp + 0xc]
jmp 0x427f33
call fcn.00477500
test eax, eax
je 0x428889
mov ebx, dword [esp + 0xc]
mov dword [edi + 0xd0], esi
mov edi, 1
jmp 0x427f3d
mov edx, dword [0x4ca500]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov ecx, ebx
call fcn.00422f00
push eax
call fcn.00455a20
xor ecx, ecx
add esp, 4
test al, al
setne cl
mov edi, ecx
jmp 0x427f35
mov eax, dword [0x4ca500]
call fcn.00416530
cmp eax, 0xffffffff
jne 0x42b14b
mov edx, dword [0x4ca500]
push edx
push 0
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.0042fec0
jmp 0x427f33
mov dword [edi + 0xfc], eax
mov edi, 1
jmp 0x427f3d
xor edi, edi
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esp + 0x38]
mov dword [edx], eax
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 1
cmp edi, 7
je 0x426df6
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
jmp case.0x426e25.116
cmp dword [ebp + 0xc], 0
je 0x42b231
mov edx, dword [ebp + 0xc]
cmp dword [edx + 8], 0
jne 0x42b231
mov ecx, dword [0x4ca4b0]
test ecx, ecx
je 0x42b220
cmp byte [ecx + 0x17], 0
jne 0x42b1ee
mov eax, dword [ecx + 0xc]
jmp 0x42b1f0
mov eax, ecx
test byte [eax + 0x15], 2
je 0x42b220
mov eax, edx
call fcn.00414ef0
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, edx
mov dword [eax + 8], 0
mov ecx, dword [0x4ca500]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42b266
mov edx, dword [esp + 0x38]
mov dword [edx], ebx
jmp case.0x426e25.116
mov eax, 5
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x42b28f
mov eax, dword [esp + 0x38]
mov dword [eax], ebx
mov eax, 6
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [0x4ca504]
push ecx
mov ecx, dword [esp + 0x10]
push 0
push str.Parameter_2_invalid.
call fcn.0042fec0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4ca508]
push edx
push 0
push str.Parameter_3_invalid.
mov ecx, ebx
call fcn.0042fec0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esp + 0x40], 0
je 0x42b315
lea esi, [esp + 0x40]
call fcn.00430710
test ebx, ebx
je 0x42b497
cmp ebx, 8
je 0x42b497
mov ecx, dword [0x4cbb54]
push 0x4a3920
push 0
push str.Jumps_cannot_exit_a_FINALLY_block.
call fcn.0042fec0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esp + 0x38]
mov dword [eax], edx
jmp case.0x426e25.116
mov ecx, dword [esp + 0x38]
mov dword [ecx], edx
mov eax, edi
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp byte [ebx + 1], 0
jne 0x42b3ae
push 0x4a3920
push 0
push str.An_exception_was_thrown.
mov ecx, ebx
call fcn.0042fc50
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x10
call fcn.00490bc8
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b3e7
push 0x4a3920
push eax
push str.Out_of_memory.
mov ecx, ebx
call fcn.0042fec0
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4cb488]
mov edx, dword [0x4cb484]
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x44], eax
xor eax, eax
push edi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
push eax
push edx
lea ebx, [esp + 0x50]
mov dword [0x4cb484], eax
mov dword [0x4cb488], eax
call fcn.0045b840
mov ebx, eax
cmp ebx, 1
jne 0x42b44b
cmp dword [edi + 8], 0
jne 0x42b44b
mov eax, dword [esp + 0x20]
cmp dword [edi], eax
jne 0x42b44b
cmp dword [esp + 0x40], 0x400000
mov ecx, eax
mov dword [edi + 0xc], ecx
jbe 0x42b4b7
dec dword [0x4cb48c]
jmp 0x42b4b7
cmp dword [esp + 0x20], 0
je 0x42b489
mov eax, dword [0x4cb484]
test eax, eax
je 0x42b476
push eax
call fcn.004900b1
add esp, 4
cmp dword [0x4cb488], 0x400000
jbe 0x42b476
dec dword [0x4cb48c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov dword [0x4cb484], edx
mov dword [0x4cb488], eax
cmp ebx, 1
je 0x42b4b0
push edi
call fcn.004900a6
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [edi + 0xc], 0
test byte [esi + 0x100], 2
mov dword [esi + 0x104], edi
jne 0x42b4d3
mov ecx, dword [esp + 0xc]
push ecx
call fcn.004303f0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4c7b80]
cmp word [edx], 0
jne 0x42b51c
cmp dword [0x4cadd8], 0
jne 0x42b51c
cmp dword [0x4ca694], 0
jne 0x42b51c
cmp dword [0x4ca698], 0
jne 0x42b51c
cmp byte [0x4ca6a2], 0
je case.0x426e25.224
mov eax, 8
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
xor edi, edi
mov ecx, ebx
call fcn.00422f00
push eax
push 7
push 0x4cb520
call fcn.00417910
mov ecx, dword [esp + 0x974]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je case.0x426e25.116
push 0x4a3920
push 0
push str.A__return__must_be_encountered_prior_to_this___.
mov ecx, ebx
call fcn.0042fec0
mov ecx, dword [esp + 0x974]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc