Function at 0x10017751
Capabilities:
Extract resource via kernel32 functions
Get disk information
Get graphical window text
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10080b05
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
push esi
push edi
push 3
pop eax
push 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x1c], eax
pop ebx
jmp 0x100177b7
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100177ad
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp dword [esp + 0x2c], ebx
jne 0x100177be
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffffd
jle 0x10017793
mov dword [esp + 0x20], 0x571177e8
lea ecx, [esp + 0x1ec]
push 2
call fcn.10015917
mov dword [esp + 0x18], ebx
jmp 0x100177f0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1ec]
mov dword [eax + ecx*4], 0xfffffffb
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x100177da
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x20], ebx
jmp 0x10017903
mov dword [esp + 0x10], 0x1e2c0d37
mov dword [esp + 0x10], ebx
jmp 0x100178f4
mov dword [esp + 0x1c], 0x4f147909
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x1c], ebx
jl 0x100178d6
mov dword [esp + 0x18], ebx
jmp 0x1001784c
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xd4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1001783d
mov dword [esp + 0xd4], ebx
jmp 0x100178c2
mov dword [esp + 0x14], 0x7979b389
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017886
push ebx
push 0xe34
push 0x1fd5
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
mov dword [esp + 0x14], 1
cmp dword [esp + 0x14], ebx
jl 0x100178bb
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100178b5
push 0x1df1
push 0xf3a
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_LineTo]
dec dword [esp + 0x14]
jns 0x10017894
inc dword [esp + 0xd4]
cmp dword [esp + 0xd4], 1
jle 0x1001785c
dec dword [esp + 0x1c]
jns 0x10017837
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100178f0
push 0x503
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jle 0x1001781d
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xffffffef
jge 0x1001780c
lea ecx, [esp + 0x1ec]
call fcn.10015999
mov dword [esp + 0x14], 3
mov dword [esp + 0x14], 3
jmp 0x10017bc6
mov dword [esp + 0x10], 0x824a8c6a
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], ebx
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017978
push 0x1008
push 0x41e
push 0x3b2
push 0x1fd8
push 0x92d
push 0x1652
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0xfffffff5
je 0x10017a4e
push 3
lea ecx, [esp + 0x174]
call fcn.10015917
mov dword [esp + 0x1c], 0x9974082
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x100179c1
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x170]
mov dword [eax + ecx*4], 0x968939f5
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x100179ab
mov esi, dword [esp + 0x170]
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x24]
test eax, eax
jne 0x100179eb
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp eax, 1
mov eax, dword [esp + 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
sub ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
cmp ecx, dword [esi + 8]
lea ecx, [esp + 0x170]
setge al
mov dword [esp + 0x2c], eax
call fcn.10015999
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff5
jne 0x10017987
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esp + 0x14c]
mov byte [esp + 0xf], bl
mov dword [esp + 0x20], 2
push 1
call fcn.10015917
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x10017a8f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14c]
mov dword [eax + ecx*4], 0x532bb11a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10017a79
mov dword [esp + 0x10], ebx
jmp 0x10017aab
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x44], 0xfc37
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10017a9b
mov dword [esp + 0x20], 0x16
jmp 0x10017acc
mov eax, dword [esp + 0x14c]
mov dword [eax], 0xfffffffa
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff4
je 0x10017abb
inc dword [esp + 0x44]
lea ecx, [esp + 0x14c]
call fcn.10015999
cmp byte [esp + 0xf], 0
je 0x10017bbc
mov dword [esp + 0x10], 0x8b108f82
xor ecx, ecx
mov dword [esp + 0x18], 1
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x90c5
mov eax, dword [esp + 0x10]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp dword [esp + 0x2c], eax
setge cl
cmp ecx, 0xffff
jae 0x10017b55
cmp dword [esp + 0x18], ebx
jne 0x10017b55
mov ecx, ebx
jmp 0x10017b58
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
xor ecx, ecx
cmp eax, 3
setg cl
xor eax, eax
cmp ecx, edx
mov ecx, dword [esp + 0x10]
setg al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], ebx
jmp 0x10017bae
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017baa
push 0x2242
push 0x214c
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_CreateCaret]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x28
jl 0x10017b8b
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
cmp dword [esp + 0x24], ebx
jne 0x10017bd1
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffffd
jle 0x1001792f
mov dword [esp + 0x30], 0x299d
mov dword [esp + 0x10], ebx
jmp 0x10017bef
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x40], 4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10017bdf
mov dword [esp + 0x10], ebx
jmp 0x10017c0b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x188], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10017bfc
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017c2a
push ebx
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetClipBox]
dec dword [esp + 0x18c]
lea ecx, [esp + 0xa0]
push 1
call fcn.10015917
mov dword [esp + 0x274], ebx
mov dword [esp + 0x24], 0xfffffffc
mov dword [esp + 0x14], ebx
jmp 0x10017c64
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x70], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10017c54
mov dword [esp + 0x70], 0xffffffe2
jmp 0x10017d6f
mov dword [esp + 0x10], 0xffffffff
lea ecx, [esp + 0x194]
push 1
call fcn.10015917
mov dword [esp + 0x14], ebx
jmp 0x10017caa
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x194]
mov dword [eax + ecx*4], 0x7b6fe6d3
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10017c94
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
test eax, eax
setg cl
cmp ecx, dword [esp + 0x70]
jle 0x10017d48
mov dword [esp + 0x10], ebx
jmp 0x10017d0c
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017cf4
push ebx
push ebx
call esi
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017d08
call esi
push eax
call dword [sym.imp.USER32.dll_IsIconic]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x10017cdc
mov dword [esp + 0x10], 0xfffffff3
jmp 0x10017d3f
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017d3b
push 0x19d9
push 0x1f0d
call esi
push eax
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffee
je 0x10017d1c
jmp 0x10017d5f
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017d5f
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
lea ecx, [esp + 0x194]
call fcn.10015999
inc dword [esp + 0x70]
cmp dword [esp + 0x70], 0x19
jge 0x10017c78
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017d9b
push 0x1df1
push 0xf3a
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov dword [esp + 0x24], 0xdb2bc40e
xor ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0x80bf
mov dword [esp + 0x14], 5
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
jmp 0x10017e9e
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], 0x3888ad88
mov dword [esp + 0x14], 0x83312ef3
mov dword [esp + 0x14], ebx
jmp 0x10017e00
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1b4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10017ded
cmp dword [esp + 0x20], ebx
je 0x10017e11
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x20], ebx
jne 0x10017e23
mov edx, ebx
cmp dword [esp + 0x18], ebx
je 0x10017e25
mov edx, ecx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
sub ecx, eax
neg ecx
push 1
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x3292c5eb
setne al
imul eax, edx
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1bc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1bc]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0x1771
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp ecx, eax
pop ecx
setle dl
mov dword [esp + 0x14], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xb
jne 0x10017dcf
push 2
pop eax
mov dword [esp + 0x2c], 0x2d91
lea ecx, [esp + 0x164]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x1c], 0xe7071658
push 3
call fcn.10015917
mov dword [esp + 0x28], 0x4822b16
mov dword [esp + 0x14], ebx
jmp 0x10017f0a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x164]
mov dword [eax + ecx*4], 0x8a1f9496
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10017ef4
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10017f2a
push 0x1097
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx]
lea eax, [edx - 1]
mov dword [ecx], eax
cmp edx, 0x70c3
jne 0x10017f45
xor eax, eax
inc eax
jmp 0x10017f47
mov eax, ebx
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x164]
call fcn.10015999
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x17c]
push 2
call fcn.10015917
mov byte [esp + 0x274], 1
lea eax, [esp + 0x218]
push dword [esp + 0x40]
movdqa xmm0, xmmword [0x10007c20]
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x210]
mov dword [esp + 0x6c], ebx
push eax
push ebx
movdqu xmmword [esp + 0x218], xmm0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call fcn.10016f38
mov dword [esp + 0x1c], 0x8f985589
mov dword [esp + 0x1c], 0x4129b857
mov dword [esp + 0x14], ebx
jmp 0x10017fd8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10017fc2
mov eax, dword [esp + 0x20]
mov ecx, 0xc218
mov eax, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x20]
mov esi, dword [edi + 4]
sub edx, esi
neg edx
sbb edx, edx
xor eax, eax
inc edx
test esi, esi
sete al
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, esi
mov dword [edi + 4], ecx
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001804a
push ebx
push 0x22ce
push 0x9a0
call dword [sym.imp.GDI32.dll_CreatePen]
lea ecx, [esp + 0x64]
call fcn.10015999
lea ecx, [esp + 0x17c]
mov byte [esp + 0x274], bl
call fcn.10015999
mov dword [esp + 0x10], ebx
jmp 0x10018082
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], 0x7e17f759
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1001806c
push dword [esp + 0x40]
movdqa xmm0, xmmword [0x10007cb0]
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x220]
mov dword [esp + 0x50], ebx
push eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], ebx
movdqu xmmword [esp + 0x228], xmm0
mov dword [esp + 0x60], ebx
call fcn.10016f38
mov byte [esp + 0x274], 2
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], 0x8bfc4f27
mov dword [esp + 0x20], 0x1552
mov dword [esp + 0x28], 0x3f85024d
mov dword [eax], 0xfffffffa
push 2
lea ecx, [esp + 0x1d4]
call fcn.10015917
mov dword [esp + 0x1c], 0x50e6da50
mov dword [esp + 0x14], ebx
jmp 0x1001811c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1d0]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1001810a
mov dword [esp + 0x1c], 1
cmp dword [esp + 0x1c], ebx
jl 0x10018147
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
dec dword [esp + 0x1c]
jns 0x10018131
lea ecx, [esp + 0x1d0]
call fcn.10015999
mov eax, dword [esp + 0x48]
dec dword [eax]
cmp dword [eax], 0xfffffff9
jne 0x100180ee
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov esi, dword [eax + 8]
mov edi, dword [eax]
mov eax, dword [esp + 0x10]
cmp eax, 0x5ff5
setl dl
xor ecx, ecx
add edx, edi
cmp edx, 0x39e22401
setle cl
xor eax, eax
cmp ecx, esi
setle al
cmp eax, esi
jge 0x1001819e
test edi, edi
je 0x1001819e
xor eax, eax
inc eax
jmp 0x100181a0
mov eax, ebx
xor ecx, ecx
cmp eax, 0x2506ed55
mov eax, dword [esp + 0x10]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x28]
push 7
setl dl
xor ecx, ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x14]
imul eax, edx
pop edx
add eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
sub edx, eax
mov eax, dword [esp + 0x20]
cmp edx, eax
setge cl
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0x274], bl
call fcn.10015999
mov dword [esp + 0x10], ebx
jmp 0x10018216
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x54], 0xa1650187
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10018206
push 3
lea ecx, [esp + 0x108]
call fcn.10015917
mov dword [esp + 0x28], 0x4822b16
mov dword [esp + 0x14], ebx
jmp 0x1001824f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x104]
mov dword [eax + ecx*4], 0x8a1f9496
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018239
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10018273
push 0x1097
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov ecx, dword [esp + 0x104]
mov edx, dword [ecx]
lea eax, [edx - 1]
mov dword [ecx], eax
cmp edx, 0x70c3
jne 0x1001828e
xor eax, eax
inc eax
jmp 0x10018290
mov eax, ebx
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x104]
call fcn.10015999
mov dword [esp + 0x10], ebx
jmp 0x100182b6
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], 7
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x100182a6
mov dword [esp + 0x14], 8
mov dword [esp + 0x30], 0xfffffff9
mov dword [esp + 0x14], ebx
jmp 0x100182e6
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1dc], 0xc857617
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x100182d3
push 0xfffffffffffffff6
pop esi
mov dword [esp + 0x14], esi
jmp 0x1001838f
push 1
lea ecx, [esp + 0x12c]
call fcn.10015917
push 4
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x278], 3
call fcn.10015917
mov dword [esp + 0x10], ebx
jmp 0x10018339
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x128]
mov dword [eax + ecx*4], 0x22124f84
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10018323
mov dword [esp + 0x10], ebx
jmp 0x1001835c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c0]
mov dword [eax + ecx*4], 0x80c6548a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x10018346
mov eax, dword [esp + 0x128]
lea ecx, [esp + 0x1c0]
mov dword [eax], ebx
call fcn.10015999
lea ecx, [esp + 0x128]
mov byte [esp + 0x274], bl
call fcn.10015999
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffe7
jle 0x100182f9
mov byte [esp + 0xf], bl
lea ecx, [esp + 0x110]
mov dword [esp + 0x18], 5
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], 1
mov dword [esp + 0x28], 0xb4ef66b1
mov dword [esp + 0x28], 0xdd7770b1
push 4
call fcn.10015917
mov byte [esp + 0x274], 4
lea ecx, [esp + 0x140]
mov dword [esp + 0x28], 0x6d065835
mov dword [esp + 0x1c], 0x1afe
push 1
call fcn.10015917
mov byte [esp + 0x274], 5
mov dword [esp + 0x10], ebx
jmp 0x1001841a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x110]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x10018404
mov dword [esp + 0x10], ebx
jmp 0x1001843d
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x140]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x10018427
mov dword [esp + 0x18], esi
cmp dword [esp + 0x18], 4
jge 0x1001862c
push 2
pop edi
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0xb8]
mov dword [esp + 0x28], 0xffffffff
push 1
call fcn.10015917
mov byte [esp + 0x274], 6
mov dword [esp + 0x14], ebx
jmp 0x10018494
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xb8]
mov dword [eax + ecx*4], 0xf985589b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1001847e
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0x10
jge 0x10018602
mov esi, dword [esp + 0x110]
push 4
lea ecx, [esp + 0xb0]
call fcn.10015917
push 4
pop eax
mov byte [esp + 0x274], 7
lea ecx, [esp + 0x158]
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 0xfffffffd
push eax
call fcn.10015917
mov dword [esp + 0x28], 0xbb30
mov dword [esp + 0x10], ebx
jmp 0x10018504
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x24c], 0xac453072
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100184f1
push 4
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001852a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xac]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10018514
mov dword [esp + 0x10], ebx
jmp 0x1001854c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x158]
mov dword [eax + ecx*4], 0x18c9a01c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10018536
mov edx, dword [esp + 0xac]
mov dword [edx + 4], ebx
mov dword [esp + 0x28], 0x6c902da
mov dword [esp + 0x28], 0xc3d069f4
mov dword [esp + 0x14], ebx
jmp 0x10018585
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x88], 0x9acd4098
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10018572
inc dword [esp + 0x1c]
mov eax, dword [edx + 4]
mov eax, dword [esp + eax*4 + 0x24c]
imul eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [edx + 4]
mov dword [eax], ecx
inc dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp dword [edx + 4], edi
jle 0x1001855c
lea ecx, [esp + 0x158]
cmp dword [esp + 0x30], ebx
jne 0x100185f1
call fcn.10015999
lea ecx, [esp + 0xac]
mov byte [esp + 0x274], 6
call fcn.10015999
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x10
jl 0x100184b1
jmp 0x10018602
call fcn.10015999
lea ecx, [esp + 0xac]
call fcn.10015999
mov eax, dword [esp + 0x140]
lea ecx, [esp + 0xb8]
mov byte [esp + 0x274], 5
call fcn.10015999
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10018456
lea ecx, [esp + 0x140]
call fcn.10015999
lea ecx, [esp + 0x110]
mov byte [esp + 0x274], bl
call fcn.10015999
cmp byte [esp + 0xf], 0
je 0x10018836
push dword [esp + 0x88]
movdqa xmm0, xmmword [0x10007c30]
lea eax, [esp + 0x20c]
push eax
lea eax, [esp + 0x200]
mov dword [esp + 0x3c], ebx
push eax
push ebx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebx
movdqu xmmword [esp + 0x208], xmm0
mov dword [esp + 0x4c], ebx
call fcn.10016f38
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x30], 0x8cdac369
mov dword [esp + 0x30], 0x1a2c
mov dword [esp + 0x10], 3
cmp dword [esp + 0x10], ebx
jl 0x10018821
mov dword [esp + 0x18], 0xe8c9f369
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x100186d7
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [esp + 0x18], 3
cmp dword [esp + 0x18], ebx
jl 0x10018817
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], 0x51d77f17
mov dword [esp + 0x1c], 0xfffffffc
mov dword [esp + 0x14], ebx
jmp 0x1001871a
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x258], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10018707
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x30], 3
mov eax, dword [esp + 0x34]
sbb ecx, ecx
neg ecx
push 0
cmp dword [eax + edx*4], ecx
pop ecx
setne cl
mov dword [esp + 0x258], ecx
mov eax, dword [esp + 0x18]
sub ecx, eax
je 0x10018752
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
cmp dword [ecx + esi*4], eax
setg dl
add edx, 0x7bb456e
cmp edx, 0xffffffff
jle 0x10018782
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp dword [eax + ecx*4], ebx
jne 0x10018782
mov eax, ebx
jmp 0x10018785
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
cmp eax, 0xbbda73a1
mov eax, dword [esp + 0x34]
setne cl
xor edx, edx
cmp ecx, 0x25bb5a27
setle dl
imul edx, dword [eax + esi*4]
mov eax, dword [esp + 0x10]
add eax, edx
jne 0x100187c2
mov eax, dword [esp + 0x34]
cmp dword [eax], ebx
jne 0x100187c2
mov edx, ebx
jmp 0x100187c5
xor edx, edx
inc edx
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub edx, eax
mov eax, dword [esp + 0x28]
sub edx, dword [eax + 0xc]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
sete cl
xor edx, edx
cmp ecx, 0x7a540f82
setge dl
xor ecx, ecx
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
imul edx, dword [eax + esi*4]
cmp dword [eax + edi*4], edx
setge cl
mov dword [esp + 0x30], ecx
dec dword [esp + 0x18]
jns 0x100186f1
dec dword [esp + 0x10]
jns 0x100186be
lea ecx, [esp + 0x34]
call fcn.10015999
push 0xf86
push ebx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
mov dword [esp + 0x18], 0x4b283066
mov dword [esp + 0x1c], 0x8d72a67f
mov dword [esp + 0x10], 0xf1edd1ed
mov dword [esp + 0x14], ebx
jmp 0x10018867
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x240], 6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018854
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x1001887f
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov dword [esp + 0x18], 2
cmp dword [esp + 0x18], ebx
jne 0x100188d3
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
dec ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0x7bc9
setne al
mov dword [esp + 0x244], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x18]
test eax, eax
jne 0x100188d3
mov eax, ebx
jmp 0x100188d6
xor eax, eax
inc eax
mov ecx, 0xde467b47
cmp ecx, eax
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp edx, eax
setge cl
add ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
xor ecx, ecx
cmp dword [esp + 0x30], eax
setl cl
xor edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xf4], 0x13e1
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
cmp ecx, eax
setle dl
imul eax, dword [esp + 0x2c], 0x13e1
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x24]
setg cl
sub eax, ecx
jne 0x1001894f
cmp dword [esp + 0x54], ebx
jne 0x1001894f
mov edx, ebx
jmp 0x10018952
xor edx, edx
inc edx
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x54]
sete cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xa0]
setg dl
add edx, 0x4e5857e6
imul edx, dword [eax]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xa0]
dec dword [eax]
test ecx, ecx
je 0x10018994
mov eax, dword [esp + 0xf4]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0x8a973314
sbb eax, eax
inc eax
mov dword [esp + 0x7c], eax
or dword [esp + 0x274], 0xffffffff
call fcn.10015999
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x20], 3
mov dword [esp + 0x10], 0x824a8c6a
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x24], ebx
mov byte [esp + 0xf], bl
cmp byte [esp + 0xf], 0
je 0x10018a1a
push 0x1008
push 0x41e
push 0x3b2
push 0x1fd8
push 0x92d
push 0x1652
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
mov dword [esp + 0x10], ebx
jmp 0x10018ad9
push 3
lea ecx, [esp + 0x120]
call fcn.10015917
mov dword [esp + 0x1c], 0x9974082
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x10018a5d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x11c]
mov dword [eax + ecx*4], 0x968939f5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018a47
mov esi, dword [esp + 0x11c]
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x24]
test eax, eax
jne 0x10018a87
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp eax, 1
mov eax, dword [esp + 0x24]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
sub ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x10]
cmp ecx, dword [esi + 8]
lea ecx, [esp + 0x11c]
setge al
mov dword [esp + 0x30], eax
call fcn.10015999
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff5
jne 0x10018a23
mov dword [esp + 0x18], 0x571177e8
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0xec51938d
mov dword [esp + 0x14], ebx
jmp 0x10018b19
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1ac], 0xfffffff6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10018b06
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x10018c0b
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
jmp 0x10018b49
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x80], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10018b3a
mov dword [esp + 0x18], ebx
jmp 0x10018bd2
cmp dword [esp + 0x10], edx
jle 0x10018b2c
push 2
lea ecx, [esp + 0x1e4]
call fcn.10015917
mov dword [esp + 0x14], 1
mov dword [esp + 0x14], ebx
jmp 0x10018c44
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x234], 5
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018c31
push 2
pop edx
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], ebx
jl 0x10018c6b