Function at 0x100327cd
Capabilities:
Get common file path
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006dc71
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push esi
xor esi, esi
mov dword [esp + 0xb0], ecx
inc esi
xor ebx, ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 0x97ec53a2
mov dword [esp + 0xc], 0x81b2706
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], esi
push edi
mov dword [esp + 0x18], 0xfffffff1
mov edi, edx
cmp dword [esp + 0x18], 0xfffffffd
mov dword [esp + 0x2c], edi
jge 0x100329f3
or edi, 0xffffffff
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x48]
push 3
call fcn.1002b6f7
mov dword [esp + 0x114], ebx
push 3
mov dword [esp + 0x28], 0xbf748bbe
mov dword [esp + 0x18], ebx
pop edx
jmp 0x1003286f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov dword [eax + ecx*4], 0x8974b66
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1003285c
cmp dword [esp + 0x20], ebx
je 0x10032899
mov dword [esp + 0x28], 0xa97963ba
mov ecx, 0x9a924c00
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov dword [esp + 0x28], ecx
jmp 0x100328a9
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 4], ecx
cmp dword [esp + 0x20], ebx
jne 0x100328e1
cmp dword [esp + 0x18], ebx
jne 0x100328e7
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
je 0x1003291b
mov dword [esp + 0x28], 0x49a5c1b0
mov dword [esp + 0x20], ebx
jmp 0x10032908
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x100328f5
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
jmp 0x100329c3
push 2
lea ecx, [esp + 0x90]
call fcn.1002b6f7
mov dword [esp + 0x28], 0xfffffffc
mov dword [esp + 0x14], ebx
jmp 0x1003294d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0xa932da3b
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10032937
mov esi, dword [esp + 0x48]
xor edx, edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esi + 4]
mov dword [eax], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
cmp eax, ecx
setne dl
mov dword [esp + 0x24], edx
xor edx, edx
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 4]
mov eax, dword [esp + 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
push dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
call fcn.100565a7
xor esi, esi
mov dword [esp + 0x90], ebx
pop ecx
mov dword [esp + 0x90], ebx
inc esi
mov dword [esp + 0x94], ebx
mov dword [esp + 0x114], edi
push dword [esp + 0x48]
call fcn.100565a7
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffffd
pop ecx
jl 0x10032835
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], 0xffffffe6
jmp 0x10032a20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10032a1c
push 0x15f0
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x2b
jl 0x100329fd
mov dword [esp + 0x10], 0x9f9b3198
mov dword [esp + 0x10], ebx
jmp 0x10032a52
cmp dword [esp + 0x10], ebx
jne 0x10032a59
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10032a4e
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe6
jge 0x10032a35
mov dword [esp + 0x34], 0x24ec2e0c
lea ecx, [esp + 0xa4]
mov dword [esp + 0x20], 0xd453
push 4
call fcn.1002b6f7
push 4
mov dword [esp + 0x118], esi
pop edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], ebx
jmp 0x10032a9d
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10032a8b
mov dword [esp + 0x18], ebx
jmp 0x10032ab9
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x54], 0x5e2138b3
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10032aa9
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10032ad8
push 0x23d2
call dword [sym.imp.USER32.dll_IsIconic]
push 4
pop edx
cmp dword [esp + 0x20], ebx
je 0x10032b02
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebx
jmp 0x10032af6
cmp dword [esp + 0x28], ebx
jne 0x10032c19
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x10032ae8
jmp 0x10032c19
mov dword [esp + 0x24], 0xdbc1c234
lea ecx, [esp + 0x80]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], 0x504ed09e
mov dword [esp + 0x30], 0x6c56d20a
mov dword [esp + 0x30], 0xcde30eca
mov dword [esp + 0x30], 0xfffffffb
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 0xfffffffc
mov dword [esp + 0x30], 0x8a57461d
push 2
call fcn.1002b6f7
push 2
mov dword [esp + 0x1c], ebx
pop edx
jmp 0x10032b76
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10032b64
mov dword [esp + 0x18], ebx
jmp 0x10032b95
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xbc], 0xb407cb0b
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10032b82
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 3
jg 0x10032be6
or ebx, 0xffffffff
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], 0x9a2a67f6
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jle 0x10032ba9
xor ebx, ebx
inc dword [esp + 0xc0]
cmp dword [esp + 0x80], 0
je 0x10032c19
push dword [esp + 0x80]
call fcn.100565a7
pop ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
or eax, 0xffffffff
mov dword [esp + 0x114], eax
cmp dword [esp + 0xa4], 0
je 0x10032c52
push dword [esp + 0xa4]
call fcn.100565a7
pop ecx
mov dword [esp + 0xa4], ebx
or eax, 0xffffffff
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x34], 0xffffffeb
cmp dword [esp + 0x34], 0xffffffe9
jge 0x10033046
mov dword [esp + 0x10], 0xccba
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], 0xebf495e3
mov dword [esp + 0x24], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], ebx
jmp 0x10032c9e
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xb8], 0x329b3a00
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10032c8b
cmp dword [esp + 0x10], ebx
je 0x10032cc8
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], ebx
jne 0x10032cc4
cmp dword [esp + 0x18], ebx
je 0x10032cc8
cmp dword [esp + 0x24], ebx
je 0x10032cc8
mov ecx, esi
jmp 0x10032cca
mov ecx, ebx
mov eax, dword [esp + 0xb8]
imul eax, ecx
mov ecx, 0xd9a2b82c
push 2
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
mov ecx, 0x2a43
setge dl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x14]
sub ecx, eax
imul ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x9c]
call fcn.1002b6f7
mov dword [esp + 0x114], 2
or edi, 0xffffffff
mov dword [esp + 0x10], 0xfffffffc
mov dword [esp + 0x24], 0xb06c0e26
mov dword [esp + 0x28], 0x641b44ad
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0xffffffe5
jg 0x10032dd9
mov dword [esp + 0x24], 0x34b64b5c
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10032d6e
push ebx
push 0x1cfb
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
cmp eax, 0xb101
mov eax, dword [esp + 0x10]
setge cl
cmp edi, ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
mov eax, dword [esp + 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp dword [esp + 0x28], eax
setge cl
imul eax, ecx, 0xa
mov ecx, dword [esp + 0x10]
neg ecx
sub ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
dec dword [esp + 0x10]
jmp 0x10032d42
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007f80]
lea eax, [esp + 0xf0]
mov dword [esp + 0x18], 0xd86e52d8
lea ecx, [esp + 0x60]
push eax
mov dword [esp + 0x20], 7
lea eax, [esp + 0xe4]
mov dword [esp + 0x28], 0xfffffffb
push eax
mov dword [esp + 0x30], 0xfffffff8
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], 0xb996a530
push ebx
movdqu xmmword [esp + 0xec], xmm0
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.100310d7
mov byte [esp + 0x114], 3
lea eax, [esp + 0xdc]
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007f70]
lea ecx, [esp + 0x6c]
push eax
lea eax, [esp + 0xd4]
mov dword [esp + 0x30], 0xfb49a5c1
push eax
push ebx
movdqu xmmword [esp + 0xdc], xmm0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.100310d7
mov dword [esp + 0x14], edi
mov dword [esp + 0x14], ebx
jmp 0x10032ea8
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x58], 0xf5ed9a92
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10032e98
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
sbb edx, edx
inc edx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xc821
setne al
xor ecx, ecx
cmp eax, dword [esi + 4]
setle cl
xor eax, eax
cmp ecx, 0x932d
setl al
mov dword [esp + 0x58], eax
test eax, eax
jne 0x10032f09
cmp dword [esp + 0x24], ebx
jne 0x10032f09
mov eax, ebx
jmp 0x10032f0c
xor eax, eax
inc eax
mov edx, dword [esp + 0x24]
xor ecx, ecx
add edx, eax
mov eax, dword [esp + 0x24]
cmp edx, eax
setne cl
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
dec dword [esp + 0x10]
cmp ecx, eax
jne 0x10032f36
xor edx, edx
inc edx
jmp 0x10032f38
mov edx, ebx
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
neg ecx
cmp ecx, dword [esi + 4]
setg al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0xffffffe4
jmp 0x10032f84
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10032f80
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x28
jl 0x10032f6e
push dword [esp + 0x68]
call fcn.100565a7
pop ecx
mov byte [esp + 0x114], 2
push dword [esp + 0x5c]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.100565a7
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x10032fdb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10032fc5
xor esi, esi
mov dword [esp + 0x14], ebx
inc esi
jmp 0x10032ff4
call fcn.10032721
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x10032feb
or eax, 0xffffffff
mov dword [esp + 0x114], eax
cmp dword [esp + 0x98], 0
je 0x10033033
push dword [esp + 0x98]
call fcn.100565a7
pop ecx
mov dword [esp + 0x98], ebx
or eax, 0xffffffff
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
dec dword [esp + 0x34]
cmp dword [esp + 0x34], 0xffffffe9
jl 0x10032c65
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x18], 3
lea ecx, [esp + 0x3c]
mov dword [esp + 0x20], 0xfd52
mov dword [esp + 0x14], 0xa198
push 2
call fcn.1002b6f7
mov dword [esp + 0x10], ebx
jmp 0x10033082
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [eax + ecx*4], 0x3d925d3c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1003306f
mov dword [esp + 0x10], ebx
jmp 0x100330a2
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xb0], 0x99d621dd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1003308f
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
je 0x100330fa
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
inc dword [esp + 0x2c]
jmp 0x10033194
mov dword [esp + 0x10], 0x177fd8b2
mov dword [esp + 0x24], 0xfffffffa
cmp dword [esp + 0x24], ebx
je 0x10033118
mov eax, esi
cmp dword [esp + 0x14], ebx
jne 0x1003311a
mov eax, ebx
xor ecx, ecx
cmp eax, 0x6953
setge cl
xor eax, eax
add ecx, 0x7718da91
cmp ecx, 0x7656
setl al
xor edx, edx
imul ecx, eax, 0xffff
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
cmp edx, dword [esp + 0x24]
je 0x10033154
mov eax, esi
cmp dword [esp + 0x10], ebx
jne 0x10033156
mov eax, ebx
cmp eax, 0xfffa
mov eax, dword [esp + 0x24]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setg cl
xor edx, edx
imul ecx, ecx, 0xe874
cmp ecx, eax
mov eax, dword [esp + 0x10]
setg dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0x31
jg 0x1003325e
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], 0x5c8f
mov dword [esp + 0x2c], 0xfffffffc
mov dword [esp + 0x18], 0xffffffec
jmp 0x100331d6
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x100331d2
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xffffffe8
jle 0x100331c1
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
je 0x10033215
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp eax, 0x6f0e
mov eax, dword [esp + 0x3c]
setge cl
xor edx, edx
cmp ecx, dword [eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
setle dl
add ecx, edx
imul ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, 0xffff32bc
mov eax, dword [esp + 0x14]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x20]
setle dl
xor ecx, ecx
dec edx
cmp edx, eax
setle cl
cmp ecx, 9
sbb eax, eax
neg eax
imul eax, dword [esp + 0xb0]
mov dword [esi + 4], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x31
jle 0x100331a7
xor esi, esi
inc esi
cmp dword [esp + 0x3c], 0
je 0x1003327b
push dword [esp + 0x3c]
call fcn.100565a7
pop ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
lea ecx, [esp + 0x34]
call fcn.100327c8
mov dword [esp + 0x2c], 0x2cb5
lea ecx, [esp + 0x74]
mov dword [esp + 0x30], 0xd085c9e5
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], 0xfffffff6
mov dword [esp + 0x10], 0x50315362
mov dword [esp + 0x38], ebx
mov dword [esp + 0x24], 0x2a26f3f1
push esi
call fcn.1002b6f7
mov dword [esp + 0x28], 0x1637c1d6
mov dword [esp + 0x30], 0x127b
mov dword [esp + 0x18], 0xe0cd5c0f
mov dword [esp + 0x20], ebx
jmp 0x100332ef
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], 2
inc dword [esp + 0x20]
cmp dword [esp + 0x20], esi
jl 0x100332dc
mov dword [esp + 0x20], ebx
jmp 0x1003330e
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xec], 0x12a3
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x100332fb
mov dword [esp + 0x20], ebx
jmp 0x1003332e
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0xf8], 0x693ce85d
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 4
jl 0x1003331b
mov eax, dword [esp + 0x38]
xor edx, edx
mov eax, dword [esp + 0x28]
dec dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
imul esi, eax, 0x4174
mov eax, dword [esp + 0x74]
mov dword [eax], esi
mov eax, dword [esp + 0xec]
cmp eax, ecx
mov eax, dword [esp + 0x24]
setl dl
xor ecx, ecx
imul eax, edx
cmp eax, 0xfffffffd
setne cl
xor eax, eax
test esi, esi
mov esi, 0xffff
sete al
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x18]
cmp eax, ecx
mov eax, dword [esp + 0x2c]
setg dl
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov eax, dword [esp + 0x24]
cmp eax, esi
mov eax, dword [esp + 0xf8]
setne cl
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp eax, ecx
mov eax, dword [esp + 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], 0xffffffe2
jmp 0x10033470
mov dword [esp + 0x10], 0x140c5034
mov dword [esp + 0x2c], 0x63cd51dc
cmp dword [esp + 0x10], ebx
je 0x100333f0
xor ecx, ecx
inc ecx
jmp 0x100333f2
mov ecx, ebx
xor eax, eax
inc eax
sub eax, ecx
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
cmp dword [eax], 1
mov eax, 0xfffd
setg cl
cmp eax, ecx
mov eax, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
imul eax, ecx
cmp dword [esp + 0x10], eax
jne 0x10033436
cmp dword [esp + 0x10], ebx
je 0x10033436
xor edx, edx
inc edx
jmp 0x10033438
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebx
jmp 0x10033465
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x10033461
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnionRect]
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffffa
je 0x1003344d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x1f
je 0x100333d5
push dword [esp + 0x74]
call fcn.100565a7
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x34], esi
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x100334b1
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xc4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003349e
mov byte [esp + 0x1f], bl
cmp byte [esp + 0x1f], 0
je 0x100334cb
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetRgnBox]
mov eax, dword [esp + 0x30]
mov ecx, 0x3e8
mov dword [esp + 0xc4], eax
mov eax, edi
cdq
idiv ecx
mov ecx, dword [esp + 0xb4]
mov edi, edx
mov esi, eax
call fcn.10032619
mov ecx, dword [esp + 0x10c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret