Function at 0x1001791c
Capabilities:
Get common file path
Get disk information
Get disk size
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1007d8ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c0
push ebx
push esi
xor esi, esi
mov dword [esp + 0xc], 0xfffffffd
push edi
inc esi
mov dword [esp + 0x48], ecx
xor ebx, ebx
mov dword [esp + 0x28], esi
push 3
mov dword [esp + 0x7c], edx
mov dword [esp + 0x10], ebx
pop ecx
jmp 0x10017971
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x178], ecx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10017962
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], ecx
jg 0x10017a23
mov dword [esp + 0x24], 0x22a149ce
mov dword [esp + 0xc], ebx
jmp 0x100179a3
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x90], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10017994
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x100179bf
push 0x1549
call dword [sym.imp.USER32.dll_GetKeyboardType]
cmp dword [esp + 0x10], ebx
je 0x100179d1
mov eax, dword [esp + 0x24]
mov edx, esi
cmp dword [esp + 0x10], eax
jle 0x100179d3
mov edx, ebx
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x178]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x180]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
mov eax, dword [esp + 0x178]
cmp edx, eax
setge cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x10017986
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x10007d50]
lea eax, [esp + 0x1b8]
push eax
lea eax, [esp + 0x1ac]
mov dword [esp + 0xb0], ebx
push eax
push ebx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xbc], ebx
movdqu xmmword [esp + 0x1b4], xmm0
mov dword [esp + 0xc0], ebx
call fcn.100170a1
mov dword [esp + 0x1d4], ebx
or edi, 0xffffffff
mov dword [esp + 0x18], 0xd444182b
mov dword [esp + 0x20], 0x7865925e
mov dword [esp + 0x20], 0x44d1878a
mov dword [esp + 0x20], esi
mov dword [esp + 0x20], 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x20], 0x8b47
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0xc], ebx
jmp 0x10017ac1
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x160], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10017ab2
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x10017b3d
mov dword [esp + 0x20], 6
lea ecx, [esp + 0x154]
push 3
call fcn.10015a80
mov dword [esp + 0x20], 0x9a2f3817
mov dword [esp + 0x24], esi
mov dword [esp + 0xc], ebx
jmp 0x10017b0f
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x154]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10017afd
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017b27
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
inc dword [esp + 0x24]
lea ecx, [esp + 0x154]
call fcn.10015b02
dec dword [esp + 0x18]
jns 0x10017ad5
lea ecx, [esp + 0xa8]
mov dword [esp + 0x1d4], edi
call fcn.10015b02
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x108]
mov dword [esp + 0x24], esi
push 3
call fcn.10015a80
push esi
lea ecx, [esp + 0xf4]
mov dword [esp + 0x1d8], esi
call fcn.10015a80
mov dword [esp + 0x24], edi
mov eax, 0x7504ed09
mov dword [esp + 0x24], 4
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov eax, 0xaa7054f8
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x10017bec
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x108]
mov dword [eax + ecx*4], 0x7747bb7a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10017bd6
mov dword [esp + 0x10], ebx
jmp 0x10017c0f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf0]
mov dword [eax + ecx*4], 0x6986d6d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10017bf9
mov eax, dword [esp + 0x1c]
add eax, 6
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x108]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xf0]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], 5
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x91a8
setl al
xor ecx, ecx
cmp eax, 0xdd71
setl cl
mov dword [esp + 0x148], ecx
cmp ecx, dword [esp + 0x1c]
jne 0x10017c9f
mov dword [esp + 0x28], 0xda5659cd
mov dword [esp + 0x28], 0x71cc545e
jmp 0x10017d76
mov dword [esp + 0x20], 0x3d38
mov dword [esp + 0x20], 0xb7228d
mov dword [esp + 0x20], 0xa2560131
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x20], 0x9b6e
mov dword [esp + 0x20], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ebx
jmp 0x10017cf4
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1c0], 0x4807c1f4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10017ce1
mov dword [esp + 0x10], ebx
jmp 0x10017d11
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x4c], 0xc580b0b8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10017d01
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0x11
jge 0x10017d76
mov eax, 0x33ecb407
mov dword [esp + 0x20], 8
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x20], 9
mov dword [esp + 0x24], 0xe577
dec dword [esp + 0x4c]
inc dword [esp + 0x24]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x11
jl 0x10017d27
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017d8c
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
lea ecx, [esp + 0xf0]
call fcn.10015b02
lea ecx, [esp + 0x108]
mov dword [esp + 0x1d4], edi
call fcn.10015b02
mov edi, dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [esp + 0xc], esi
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017dc8
push ebx
push 0x1299
call edi
mov dword [esp + 0xc], 0x17
jmp 0x10017de6
mov dword [esp + 0x28], 0xfff8
mov dword [esp + 0x28], 0xfffffffc
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffec
je 0x10017dd2
mov dword [esp + 0x10], ebx
jmp 0x10017e03
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10017df3
mov dword [esp + 0x10], ebx
jmp 0x10017e1e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1b4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10017e0f
mov dword [esp + 0x3c], 0xfffffff7
jmp 0x10017e44
cmp dword [esp + 0x3c], ebx
jne 0x10017e4b
mov dword [esp + 0x1b8], 3
inc dword [esp + 0x3c]
cmp dword [esp + 0x3c], 0xa
jge 0x10017e2f
mov dword [esp + 0x2c], 0xf6af1124
mov dword [esp + 0xc], esi
mov dword [esp + 0x20], 0x26d2e858
mov dword [esp + 0xc], ebx
jmp 0x10017eb0
mov dword [esp + 0x2c], 0xfffffff9
cmp dword [esp + 0x2c], ebx
jne 0x10017eb7
mov dword [esp + 0x2c], ebx
jmp 0x10017ea5
cmp dword [esp + 0x2c], ebx
jne 0x10017eac
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10017ea1
push 0xdb8
push 0x2e6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0x36
jl 0x10017e79
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 5
jne 0x10017e65
push 3
lea ecx, [esp + 0x130]
call fcn.10015a80
mov dword [esp + 0x18], 8
mov dword [esp + 0xc], esi
mov dword [esp + 0xc], ebx
jmp 0x10017eed
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x12c]
mov dword [eax + ecx*4], 0x7571177e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10017ed7
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x18], 2
jg 0x10017f61
mov esi, dword [esp + 0x12c]
or dword [esi + 8], 0xffffffff
xor ecx, ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x24], 6
mov dword [esp + 0x28], 0xfffffff8
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
sub edx, eax
mov eax, dword [esp + 0xc]
cmp edx, eax
setne cl
mov dword [esp + 0x28], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x10017f06
xor esi, esi
inc esi
lea ecx, [esp + 0x12c]
call fcn.10015b02
push 2
lea ecx, [esp + 0x118]
call fcn.10015a80
mov dword [esp + 0x1d4], 2
mov dword [esp + 0x1c], esi
mov dword [esp + 0xc], 0xfffffff6
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x20], 0x15a8df04
mov dword [esp + 0xc], ebx
jmp 0x10017fb8
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x50], 0xdc85
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x10017fa8
mov dword [esp + 0x1c], 3
cmp dword [esp + 0x1c], ebx
jl 0x100180ab
mov dword [esp + 0xc], ebx
jmp 0x10017fea
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x164], 0xa90c6d21
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10017fd7
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018009
push 0xce0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x50]
cmp dword [esp + 0x1c], ebx
je 0x1001801f
mov eax, esi
cmp dword [esp + 0x50], ebx
jne 0x10018021
mov eax, ebx
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
sub ecx, 0x1e616a2f
imul ecx, eax
mov dword [esp + 0x164], ecx
test ecx, ecx
je 0x10018049
mov eax, esi
cmp dword [esp + 0xc], ebx
jne 0x1001804b
mov eax, ebx
cmp eax, dword [esp + 0x1c]
jge 0x10018059
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x50]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x50]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + eax*4 + 0x50]
mov edx, dword [esp + 0x54]
sub edx, eax
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x50]
inc edx
cmp edx, eax
mov eax, dword [esp + 0x1c]
setne cl
xor edx, edx
cmp ecx, 0x21462ccd
mov eax, dword [esp + eax*4 + 0x50]
setge dl
xor ecx, ecx
cmp eax, edx
sete cl
mov dword [esp + 0x28], ecx
dec dword [esp + 0x1c]
jns 0x10017fd1
push 0xfffffffffffffff7
mov dword [esp + 0x20], 0x4e2db58
pop eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ebx
jmp 0x10018298
mov dword [esp + 0x30], 0xfffffffa
lea ecx, [esp + 0xe4]
push esi
call fcn.10015a80
mov dword [esp + 0x18], 0xfffffffe
mov dword [esp + 0x18], ebx
jmp 0x10018100
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x100180ea
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, esi
jb 0x10018139
mov eax, dword [esp + 0xe4]
cmp dword [eax], ebx
mov eax, esi
jne 0x1001813b
mov eax, ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x2c], 0xfffffffe
jmp 0x1001827d
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x10], 0xe6b93388
mov dword [esp + 0x24], 0xc30bca0b
mov dword [esp + 0x28], 0xb221494f
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x1c]
jl 0x10018196
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x1c], eax
jne 0x100181b4
mov edx, ebx
cmp dword [esp + 0xc], ebx
je 0x100181b6
mov edx, esi
mov eax, dword [esp + 0xe4]
xor ecx, ecx
cmp edx, dword [eax]
setle cl
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0xc], 0x18
jmp 0x1001826e
mov dword [esp + 0x28], 0x79a46bb2
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], ebx
jl 0x10018209
mov dword [esp + 0x10], ebx
jmp 0x100181fd
mov dword [esp + 0x18], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x100181f5
dec dword [esp + 0x30]
jns 0x100181ef
mov dword [esp + 0x18], 0xfffffff8
jmp 0x10018263
mov dword [esp + 0x10], 0xd2ca
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x34], 0xfd208dd2
mov dword [esp + 0x34], 0x4e19c781
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1d
jle 0x10018213
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffef
jg 0x100181dd
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 5
jle 0x1001814c
lea ecx, [esp + 0xe4]
call fcn.10015b02
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1a
je 0x100180c7
mov dword [esp + 0xc], esi
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100182ba
push ebx
push 0x1299
call edi
mov dword [esp + 0xc], 0x17
jmp 0x100182d8
mov dword [esp + 0x20], 0xfff8
mov dword [esp + 0x20], 0xfffffffc
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffec
je 0x100182c4
mov dword [esp + 0x1c], 0xd5e48d32
mov dword [esp + 0x1c], 0x1a
jmp 0x10018318
mov dword [esp + 0xc], 4
mov dword [esp + 0xc], 8
jmp 0x1001830d
cmp dword [esp + 0x1c], ebx
jne 0x10018314
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xe
jle 0x10018303
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x11
jne 0x100182f1
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_GetDC]
neg eax
sbb eax, eax
inc eax
cmp eax, 0xa9a9
jl 0x100183e5
xor edi, edi
lea ecx, [esp + 0xc0]
inc edi
push edi
call fcn.10015a80
mov dword [esp + 0xc], ebx
jmp 0x10018369
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x10018353
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ebx
jl 0x1001838f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
mov dword [ecx], eax
dec dword [esp + 0x1c]
jns 0x10018379
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], ebx
jl 0x100183dc
mov dword [esp + 0xc], ebx
mov dword [esp + 0xc], ebx
jmp 0x100183b9
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc0]
mov dword [eax + ecx*4], 0xb2aee5a9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x100183a3
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100183d6
push 0x946
push ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
dec dword [esp + 0x1c]
jns 0x10018399
lea ecx, [esp + 0xc0]
jmp 0x1001845b
xor edi, edi
lea ecx, [esp + 0xfc]
inc edi
push edi
call fcn.10015a80
mov dword [esp + 0xc], ebx
jmp 0x10018411
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x100183fb
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018432
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [esp + 0x1c], ebx
jmp 0x1001844e
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], 0xdb959c45
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x10018438
lea ecx, [esp + 0xfc]
call fcn.10015b02
lea eax, [esp + 0x114]
push eax
push ebx
lea eax, [esp + 0x7c]
push eax
push 0x2149
push 0x45ad
call fcn.1001aae8
add esp, 0x14
mov dword [esp + 0xc], 0xfffffff9
mov dword [esp + 0x24], edi
lea ecx, [esp + 0xb4]
mov dword [esp + 0x34], 0xfffffff7
push 2
call fcn.10015a80
mov byte [esp + 0x1d4], 3
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x10], ebx
jmp 0x100184ce
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xb4]
mov dword [eax + ecx*4], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100184b8
mov dword [esp + 0x10], ebx
jmp 0x100184eb
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], 0xffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100184db
mov dword [esp + 0xc], ebx
jmp 0x1001865b
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], 0xfffffffd
mov dword [esp + 0x30], 0xfffffff9
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x1001852d
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x44], 0xfffffffc
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1001851d
mov dword [esp + 0x10], ebx
jmp 0x10018648
mov dword [esp + 0x2c], 0x6bc044b0
lea ecx, [esp + 0xd8]
push 3
call fcn.10015a80
mov dword [esp + 0x18], ebx
jmp 0x1001856e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd8]
mov dword [eax + ecx*4], 0x5cd3860a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10018558
cmp dword [esp + 0x34], ebx
jne 0x100185a5
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov eax, dword [esp + 0xb4]
add edx, dword [eax]
mov eax, dword [esp + 0x10]
cmp edx, eax
mov eax, dword [esp + 0xb4]
setle cl
xor edx, edx
cmp ecx, 7
setge dl
mov dword [eax + 4], edx
mov eax, dword [esp + 0x28]
xor edx, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x7bab6ea1
mov eax, dword [esp + 0x10]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xd8]
setge cl
xor edx, edx
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
dec dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xc]
cmp ecx, eax
sete dl
sub edx, 0x24cacc50
mov dword [esp + 0x24], edx
xor edx, edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x2c]
cmp dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
cmp eax, 0xfff9
sbb eax, eax
inc eax
cmp dword [esp + 0x10], eax
jg 0x10018632
mov eax, ebx
cmp dword [esp + 0x44], ebx
je 0x10018634
mov eax, edi
mov dword [esp + 0x24], eax
lea ecx, [esp + 0xd8]
call fcn.10015b02
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffee
je 0x1001853c
mov eax, dword [esp + 0x30]
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xffffffe5
jge 0x100184fb
lea ecx, [esp + 0xb4]
mov byte [esp + 0x1d4], 2
call fcn.10015b02
mov dword [esp + 0x18], 9
mov dword [esp + 0x18], 0xfffffff4
jmp 0x100186bd
mov dword [esp + 0xc], edi
mov dword [esp + 0xc], ebx
jmp 0x100186b2
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100186ae
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetParent]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x15
jne 0x10018696
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff8
jge 0x1001868c
mov dword [esp + 0x10], 0xfffffffc
mov dword [esp + 0x24], 0xfbefa5f9
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x28], 0x8e045dce
mov dword [esp + 0x20], 0x1bca3396
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x10], ebx
jmp 0x100187f3
mov dword [esp + 0x18], 0x8c08872f
mov dword [esp + 0x30], 0xfffffffb
mov dword [esp + 0x2c], 0xd2fc
mov dword [esp + 0x28], 0x14ba09a1
cmp dword [esp + 0x18], ebx
je 0x10018759
mov eax, dword [esp + 0x30]
push 0xfffffffffffffffe
pop ecx
sub ecx, eax
je 0x10018759
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
add eax, 0x39112e1f
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x28], ecx
cmp dword [esp + 0xc], ebx
je 0x1001879b
cmp dword [esp + 0x2c], ebx
je 0x1001878b
mov eax, edi
cmp dword [esp + 0x28], ebx
jne 0x1001878d
mov eax, ebx
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], ebx
je 0x1001879b
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, 0x57cf7a02
mov eax, dword [esp + 0xc]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x18]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xc]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
imul ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp dword [esp + 0x28], eax
setg cl
mov dword [esp + 0x28], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff9
jle 0x100186fd
mov byte [esp + 0x3b], bl
mov dword [esp + 0x18], 0x2afe01bd
mov dword [esp + 0xc], ebx
jmp 0x10018823
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x188], 0xa4a9bdba
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10018810
push 2
mov dword [esp + 0x1c], ebx
pop edx
jmp 0x10018873
mov dword [esp + 0xc], 6
mov dword [esp + 0xc], ebx
jmp 0x10018869
mov dword [esp + 0x20], 0x76d6092f
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x188]
mov eax, dword [esp + 0x18]
neg ecx
mov dword [esp + eax*4 + 0x188], ecx
mov dword [esp + 0x20], edi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jle 0x10018841
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jle 0x10018833
lea eax, [esp + 0x3b]
push eax
push ebx
call fcn.1001b338
pop ecx
pop ecx
mov dword [esp + 0x2c], ebx
jmp 0x10018b62
mov dword [esp + 0x20], 6
lea ecx, [esp + 0x120]
push edi
call fcn.10015a80
push edi
lea ecx, [esp + 0x170]
mov byte [esp + 0x1d8], 4
call fcn.10015a80
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], ebx
jmp 0x100188dd
cmp dword [esp + 0x10], edi
jl 0x100188c7
cmp dword [esp + 0x2c], 0x16
jne 0x1001888f
or dword [esp + 0x1d4], 0xffffffff
lea ecx, [esp + 0x114]
call fcn.10015b02
mov dword [esp + 0xc], 0xda439beb
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x34], 6
mov dword [esp + 0x18], ebx
jmp 0x10018baf
cmp dword [esp + 0x18], 2
jl 0x10018b9f