Function at 0x10033c23
Capabilities:
Accept command line arguments
Clear file content
Create pipe
Create thread
Delete registry value
Get file attributes
Get geographical location
Parse pe header
Query environment variable

Disassembly:
mov eax, 0x1008a9f3
call fcn.10089360
mov eax, 0x15bc
call fcn.10085a50
push ebx
push esi
push edi
mov dword [ebp - 0x70], ecx
lea ecx, [ebp - 0x1f4]
push 3
mov byte [ebp - 0x65], dl
call fcn.10019e28
xor eax, eax
or esi, 0xffffffff
mov dword [ebp - 4], eax
xor edi, edi
mov dword [ebp - 0x1c], esi
mov ebx, 0xab2bc8f9
mov dword [ebp - 0x14], eax
inc edi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10033c91
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1f4]
call fcn.10019e95
mov dword [eax], 0xb3c692be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10033c72
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10033cb4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd78], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10033c9c
xor eax, eax
push eax
lea ecx, [ebp - 0x1f4]
call fcn.10019e95
push 2
lea ecx, [ebp - 0x1f4]
dec dword [eax]
pop eax
push eax
call fcn.10019e95
mov ecx, 0xffff
cmp dword [eax], ecx
jb 0x10033d3e
xor eax, eax
lea ecx, [ebp - 0x1f4]
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], edi
setle cl
imul eax, ecx, 6
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10033d08
push edi
lea ecx, [ebp - 0x1f4]
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1f4]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1f4]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setns cl
cmp ecx, esi
je 0x10033d3e
xor eax, eax
mov esi, eax
jmp 0x10033d40
mov esi, edi
push edi
lea ecx, [ebp - 0x1f4]
call fcn.10019e95
xor ecx, ecx
cmp esi, dword [eax]
sete cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x1f4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1f4]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1f4]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x1abe719c
setle al
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x10033dce
push eax
lea ecx, [ebp - 0x1f4]
call fcn.10019e95
cmp dword [eax], 0
jne 0x10033dce
xor eax, eax
jmp 0x10033dd0
mov eax, edi
mov dword [ebp - 0xd74], eax
lea ecx, [ebp - 0x1f4]
or esi, 0xffffffff
mov dword [ebp - 4], esi
call fcn.10019e90
push 3
lea ecx, [ebp - 0x1d0]
call fcn.10019e28
mov dword [ebp - 4], edi
xor eax, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], edi
push 3
mov dword [ebp - 0x10], eax
pop ebx
cmp dword [ebp - 0x10], ebx
jge 0x10033e2e
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1d0]
call fcn.10019e95
mov dword [eax], 0xb3c692be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10033e10
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10033e51
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xea4], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10033e39
xor eax, eax
push eax
lea ecx, [ebp - 0x1d0]
call fcn.10019e95
push 2
lea ecx, [ebp - 0x1d0]
dec dword [eax]
pop eax
push eax
call fcn.10019e95
mov ecx, 0xffff
cmp dword [eax], ecx
jb 0x10033edb
xor eax, eax
lea ecx, [ebp - 0x1d0]
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], edi
setle cl
imul eax, ecx, 6
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10033ea5
push edi
lea ecx, [ebp - 0x1d0]
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1d0]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1d0]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setns cl
cmp ecx, esi
je 0x10033edb
xor eax, eax
mov esi, eax
jmp 0x10033edd
mov esi, edi
push edi
lea ecx, [ebp - 0x1d0]
call fcn.10019e95
xor ecx, ecx
cmp esi, dword [eax]
sete cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x1d0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1d0]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1d0]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x1abe719c
setle al
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x10033f6b
push eax
lea ecx, [ebp - 0x1d0]
call fcn.10019e95
cmp dword [eax], 0
jne 0x10033f6b
xor eax, eax
jmp 0x10033f6d
mov eax, edi
mov dword [ebp - 0xea0], eax
lea ecx, [ebp - 0x1d0]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10019e90
xor eax, eax
mov dword [ebp - 0x14], eax
push 2
pop esi
cmp dword [ebp - 0x14], edi
jge 0x10033fa5
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe70], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10033f91
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10033fbe
push edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10033fd1
push edi
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push ebx
lea ecx, [ebp - 0x1dc]
call fcn.10019e28
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x137c]
movdqa xmm0, xmmword [0x10009680]
xor eax, eax
mov dword [ebp - 0x14], 0x2cb13638
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xfc8]
mov dword [ebp - 0x4c], 0xfffffffb
push eax
mov dword [ebp - 0x1c], edi
lea eax, [ebp - 0xfd8]
mov dword [ebp - 0x3c], 0x70b168f9
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x30], edi
push eax
movdqu xmmword [ebp - 0xfd8], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x28f]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9c8]
push dword [esi]
call fcn.10019e6a
mov byte [ebp - 4], bl
xor eax, eax
mov dword [ebp - 0x44], 0xf4e5
cmp dword [ebp - 0x14], eax
jne 0x100340a0
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x3c]
neg ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x1c]
jge 0x10034096
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10034098
mov eax, edi
cmp eax, dword [ebp - 0x30]
jl 0x100340a0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
dec ecx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x9c8]
pop eax
push eax
setg bl
call fcn.10019e95
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x14], ebx
je 0x100340e1
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034147
push 0x1392
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
jmp 0x10034147
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jl 0x10034137
push 2
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10034106
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x968], 0xd258d033
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100340f5
mov eax, dword [ebp - 0x44]
push ecx
mov dword [ebp - 0x964], eax
lea ecx, [ebp - 0x9c8]
mov esi, dword [ebp - 0x964]
call fcn.10019e95
push 0
mov dword [eax], esi
mov dword [ebp - 0x30], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
pop eax
jge 0x100340ed
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034147
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push 2
pop eax
lea ecx, [ebp - 0x9c8]
mov byte [ebp - 4], al
call fcn.10019e90
or esi, 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], 0x6579763
cmp dword [ebp - 0x30], eax
mov byte [ebp - 0x29], al
je 0x1003418c
cmp byte [ebp - 0x29], al
je 0x100341a1
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp 0x1003419f
cmp byte [ebp - 0x29], al
je 0x100341a1
push 0xaf7
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
mov ebx, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x4c], 0xab2bc8f9
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x38], 0xf845
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100341db
push 0x690
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
xor eax, eax
push 9
pop edx
push 0xfffffffffffffff8
mov dword [ebp - 0x10], 0x1b
pop ecx
jmp 0x10034228
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ecx
jg 0x10034225
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003421a
push eax
push 0x2157
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
push 0xfffffffffffffff8
xor eax, eax
pop ecx
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x100341f5
push 9
pop edx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jg 0x100341ea
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10034256
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1dc]
call fcn.10019e95
mov dword [eax], 0xb3c692be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10034237
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x10034279
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd84], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10034261
xor eax, eax
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10019e95
push 2
lea ecx, [ebp - 0x1dc]
dec dword [eax]
pop eax
push eax
call fcn.10019e95
mov ecx, 0xffff
cmp dword [eax], ecx
jb 0x10034303
xor eax, eax
lea ecx, [ebp - 0x1dc]
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], edi
setle cl
imul eax, ecx, 6
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100342cd
push edi
lea ecx, [ebp - 0x1dc]
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1dc]
mov eax, dword [ebp - 0x1c]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1dc]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
xor ecx, ecx
test eax, eax
setns cl
cmp ecx, esi
je 0x10034303
xor eax, eax
mov esi, eax
jmp 0x10034305
mov esi, edi
push edi
lea ecx, [ebp - 0x1dc]
call fcn.10019e95
xor ecx, ecx
cmp esi, dword [eax]
sete cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x1dc]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
xor eax, eax
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1dc]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1dc]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x1abe719c
setle al
imul eax, dword [ebp - 0x14]
test eax, eax
jne 0x10034393
push eax
lea ecx, [ebp - 0x1dc]
call fcn.10019e95
cmp dword [eax], 0
jne 0x10034393
xor eax, eax
jmp 0x10034395
mov eax, edi
mov dword [ebp - 0xd80], eax
lea ecx, [ebp - 0x1dc]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10019e90
movdqa xmm0, xmmword [0x100096a0]
lea eax, [ebp - 0xff8]
push eax
lea eax, [ebp - 0x1008]
push eax
lea ecx, [ebp - 0x13ec]
movdqu xmmword [ebp - 0x1008], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x21d]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x258]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 4
or eax, 0xffffffff
mov dword [ebp - 0x10], 0x6d444182
mov dword [ebp - 0x1c], eax
xor eax, eax
push 3
mov dword [ebp - 0x30], 0xad7ba966
pop esi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x100344e1
push dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
call fcn.10019e95
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100344a2
push edi
lea ecx, [ebp - 0x258]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x258]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x258]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x258]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
push dword [ebp - 0x10]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x258]
mov esi, dword [eax]
dec esi
call fcn.10019e95
xor edx, edx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
jns 0x1003441f
push 3
pop esi
or eax, 0xffffffff
lea ecx, [ebp - 0x258]
mov dword [ebp - 4], eax
call fcn.10019e90
mov dword [ebp - 0x4c], 0xa622a149
lea ecx, [ebp - 0x6e4]
push esi
call fcn.10019e28
xor eax, eax
mov dword [ebp - 4], 5
mov dword [ebp - 0x14], eax
jmp 0x10034524
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], 0xed3c15d0
inc dword [ebp - 0x14]
lea ecx, [ebp - 0x6e4]
cmp dword [ebp - 0x14], esi
jl 0x10034513
push edi
call fcn.10019e95
xor edx, edx
mov dword [eax], 0x247adf1a
mov eax, dword [ebp - 0x4c]
cmp eax, edi
mov eax, dword [ebp - 0x4c]
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
imul eax, ecx, 0x9c3
cmp eax, 0xc17633ef
sbb eax, eax
xor ecx, ecx
neg eax
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0x7525d2d9
setl cl
sub ecx, 0x9cf1
lea ecx, [ebp - 0x6e4]
je 0x100345a4
mov dword [ebp - 0x30], 0xce008fb0
xor eax, eax
mov dword [ebp - 0x4c], 0xa1650187
mov dword [ebp - 0x30], 0xfffffff6
mov dword [ebp - 0x4c], 0x58e92eda
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x4c]
jmp 0x100345b4
mov dword [ebp - 0x30], 0xe64f6cbc
push edi
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 4], eax
call fcn.10019e90
or eax, 0xffffffff
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034607
push eax
push eax
push 0xfe
push 0x634
push eax
call dword [sym.imp.USER32.dll_InsertMenuA]
xor eax, eax
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x10034746
jmp 0x10034617
xor eax, eax
mov dword [ebp - 0x48], 0xc6eb81f9
mov dword [ebp - 0x14], eax
jmp 0x10034634
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10034623
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x498]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x498], edx
mov eax, dword [ebp - 0x10]
cmp eax, 0xec32
setge cl
add ecx, dword [ebp - 0xb8]
cmp edx, ecx
jle 0x10034696
mov dword [ebp - 0x4c], 0x8d8ef068
dec dword [ebp - 0x4c]
xor eax, eax
jmp 0x1003471c
or eax, 0xffffffff
mov dword [ebp - 0x28], eax
push 0xfffffffffffffff8
pop eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x48c], eax
je 0x100346d2
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x498]
cmp eax, 0x3d88
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x494]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10034717
mov dword [ebp - 0x24], eax
jmp 0x1003470f
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003470c
push eax
call dword [sym.imp.USER32.dll_DestroyCursor]
xor eax, eax
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], eax
jle 0x100346fa
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jle 0x100346f5
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x48], eax
jmp 0x10034738
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x498], 0
jne 0x1003473d
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], esi
jle 0x10034728
dec dword [ebp - 0x10]
jns 0x10034615
push esi
lea ecx, [ebp - 0x1e8]
call fcn.10019e28
push 2
pop eax
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x41c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0x7249
push esi
call fcn.10019e28
mov byte [ebp - 4], 7
xor eax, eax
mov dword [ebp - 0x44], 0x266c
mov dword [ebp - 0x30], 0xbf520f09
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x100347a3
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x7c], 0x74dd032
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003478e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100347b6
push dword [ebp - 0x10]
call fcn.10019e95
and dword [eax], 0
inc dword [ebp - 0x10]
lea ecx, [ebp - 0x41c]
cmp dword [ebp - 0x10], esi
jl 0x100347a8
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
push edi
call fcn.10019e95
mov eax, dword [ebp - 0x7c]
mov esi, 0xafcb06a9
mov eax, dword [ebp - 0x7c]
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setge dl
xor eax, eax
cmp edx, 0xfff6
je 0x10034863
mov dword [ebp - 0x14], 0xbadcab3
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034828
push eax
push eax
call dword [sym.imp.USER32.dll_CopyRect]
xor eax, eax
push eax
lea ecx, [ebp - 0x41c]
call fcn.10019e95
mov ecx, dword [ebp - 0x14]
cmp dword [eax], ecx
jl 0x1003484d
push edi
lea ecx, [ebp - 0x41c]
call fcn.10019e95
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp esi, eax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
jmp 0x1003487c
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x1003487c
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call ebx
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x41c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
push edi
call fcn.10019e95
push edi
lea ecx, [ebp - 0x41c]
call fcn.10019e95
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp eax, 0x4292
push edi
setne cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x41c]
call fcn.10019e95
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
sub edx, ecx
mov ecx, dword [ebp - 0x7c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
lea ecx, [ebp - 0x41c]
setle al
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 6
call fcn.10019e90
or eax, 0xffffffff
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x48], eax
push 3
mov dword [ebp - 0x28], 0x84225189
mov dword [ebp - 0x4c], eax
xor eax, eax
pop ebx
mov dword [ebp - 0x14], eax
push ebx
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 8
push 4
mov dword [ebp - 0x20], eax
pop esi
cmp dword [ebp - 0x20], esi
jge 0x1003492e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x168], 0xebb0cb8c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10034916
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x10034954
push dword [ebp - 0x20]
lea ecx, [ebp - 0x790]
call fcn.10019e95
mov dword [eax], 0x10110121
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x10034936
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10034966
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x304], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10034959
mov eax, dword [ebp - 0x15c]
add eax, dword [ebp - 0x15c]
je 0x10034a38
mov eax, dword [ebp - 0x160]
add eax, dword [ebp - 0x15c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x15c], 0x4dd
jl 0x100349a7
cmp dword [ebp - 0x160], eax
je 0x100349a7
mov eax, edi
mov dword [ebp - 0x4c], eax
xor edx, edx
mov eax, dword [ebp - 0x15c]
imul eax, dword [ebp - 0x4c]
add eax, 0xfc16
cmp eax, 0x5654
mov eax, dword [ebp - 0x164]
setne dl
inc edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
sub ecx, 0x3cb8
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x34071e99
setl al
imul eax, eax, 0xfffffff9
cmp eax, 6
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x168]
je 0x10034a0b
xor eax, eax
cmp dword [ebp - 0x15c], eax
je 0x10034a0d
mov eax, edi
jmp 0x10034a0d
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
lea eax, [ecx - 0xa]
test eax, eax
je 0x10034a2e
mov eax, dword [ebp - 0x160]
mov eax, dword [ebp - 0x15c]
mov ecx, edi
jmp 0x10034a3c
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x164]
add ecx, 0xa08d
imul ecx, eax
xor eax, eax
cmp ecx, dword [ebp - 0x15c]
jl 0x10034ada
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x10034ac1
push esi
lea ecx, [ebp - 0xbcc]
call fcn.10019e28
push 9
pop eax
mov byte [ebp - 4], al
xor eax, eax
mov dword [ebp - 0x30], 0xe7179999
mov dword [ebp - 0x14], eax
jmp 0x10034a92
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], 0x5b4d
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xbcc]
cmp dword [ebp - 0x14], esi
jl 0x10034a81
push 2
pop eax
push eax
call fcn.10019e95
lea ecx, [ebp - 0xbcc]
mov dword [eax], edi
mov dword [ebp - 0x30], edi
mov byte [ebp - 4], 8
call fcn.10019e90
dec dword [ebp - 0x28]
jns 0x10034a61
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034c02
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
jmp 0x10034c02
mov dword [ebp - 0x10], 0x686461d9
mov dword [ebp - 0x3c], 0xfffffffa
cmp dword [ebp - 0x15c], eax
je 0x10034b8a
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], edi
jl 0x10034b06
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10034b06
mov eax, dword [ebp - 0x14]
push 2
pop eax
push eax
lea ecx, [ebp - 0x790]
call fcn.10019e95
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x790]
push 2
pop eax
push eax
call fcn.10019e95
cmp dword [eax], 0
je 0x10034b2f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x168]
sub eax, 0x210ab9cb
jne 0x10034b3f
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x160]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x304]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
dec ecx
je 0x10034b8a
cmp dword [ebp - 0x168], eax
je 0x10034b88
mov esi, edi
jmp 0x10034b8c
xor eax, eax
mov esi, eax
push 2
pop eax
push eax
lea ecx, [ebp - 0x790]
call fcn.10019e95
xor ecx, ecx
cmp esi, 0x33b75cab
setne cl
xor edx, edx
cmp ecx, 0x6eff5237
setl dl
imul edx, dword [eax]
sub edx, 0x34b72860
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x3c]
je 0x10034bd5
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10034bd7
mov ecx, edi
jmp 0x10034bd9
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x15c]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x304], ecx
lea ecx, [ebp - 0x790]
mov byte [ebp - 4], 6
call fcn.10019e90
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x10034c35
push 2
pop esi
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xd64], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10034c21
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034c4e
push edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034c63
push edi
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
xor eax, eax
movdqa xmm0, xmmword [0x10009680]
lea ecx, [ebp - 0x1384]
mov dword [ebp - 0x4c], 0xab2bc8f9
mov dword [ebp - 0x14], 0x2cb13638
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x11f8]
mov dword [ebp - 0x4c], 0xfffffffb
push eax
mov dword [ebp - 0x1c], edi
lea eax, [ebp - 0x1208]
mov dword [ebp - 0x3c], 0x70b168f9
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x30], edi
push eax
movdqu xmmword [ebp - 0x1208], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x281]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x9e0]
push dword [esi]
call fcn.10019e6a
mov byte [ebp - 4], 0xa
xor eax, eax
mov dword [ebp - 0x44], 0xf4e5
cmp dword [ebp - 0x14], eax
jne 0x10034d29
mov eax, dword [ebp - 0x10]
xor edx, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
setle dl
xor ecx, ecx
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0x3c]
neg ecx
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x1c]
jge 0x10034d1f
xor eax, eax
cmp dword [ebp - 0x10], eax
je 0x10034d21
mov eax, edi
cmp eax, dword [ebp - 0x30]
jl 0x10034d29
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
dec ecx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
lea ecx, [ebp - 0x9e0]
pop eax
push eax
setg bl
call fcn.10019e95
mov dword [eax], ebx
xor eax, eax
cmp dword [ebp - 0x14], ebx
je 0x10034d6a
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10034dd0
push 0x1392
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
jmp 0x10034dd0
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jl 0x10034dc0
push 2
mov dword [ebp - 0x14], eax
pop ecx
jmp 0x10034d8f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x970], 0xd258d033
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10034d7e
mov eax, dword [ebp - 0x44]
push ecx
mov dword [ebp - 0x96c], eax
lea ecx, [ebp - 0x9e0]
mov esi, dword [ebp - 0x96c]
call fcn.10019e95
push 0
mov dword [eax], esi
mov dword [ebp - 0x30], esi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
pop eax
jge 0x10034d76
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034dd0
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebp - 0x9e0]
mov byte [ebp - 4], 6
call fcn.10019e90
mov dword [ebp - 0x54], edi
xor eax, eax
mov dword [ebp - 0x30], 0x6579763
cmp dword [ebp - 0x30], eax
mov byte [ebp - 0x29], al
je 0x10034e0d
cmp byte [ebp - 0x29], al
je 0x10034e22
push eax
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
xor eax, eax
push eax
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
jmp 0x10034e20
cmp byte [ebp - 0x29], al
je 0x10034e22
push 0xaf7
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], 0xf845
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034e53
push 0x690
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetMapMode]
xor eax, eax
mov dword [ebp - 0x10], 0x1b
cmp dword [ebp - 0x10], 0x14
jle 0x10034eab
push 0xfffffffffffffff8
pop ebx
push 9
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jg 0x10034ea2
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10034e97
push eax
push 0x2157
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10034e71
push 9
pop ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x14
jg 0x10034e66
push 4
lea ecx, [ebp - 0xf4]
call fcn.10019e28
mov byte [ebp - 4], 0xb
xor eax, eax
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x3c], 0x2a93f045
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10034ef4
push dword [ebp - 0x14]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
mov dword [eax], 0xff0e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10034ed5
xor eax, eax
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], eax
jl 0x10034ffa
or edi, 0xffffffff
mov dword [ebp - 0x3c], 0x1e2db80e
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0x4c], 0x9e149cf
mov dword [ebp - 0x30], edi
push dword [ebp - 0x20]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp dword [eax], ecx
lea ecx, [ebp - 0xf4]
setle dl
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x20]
call fcn.10019e95
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
mov eax, dword [ebp - 0x3c]
push dword [ebp - 0x20]
call fcn.10019e95
push 3
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.10019e95
push 2
mov esi, eax
lea ecx, [ebp - 0xf4]
pop eax
push eax
call fcn.10019e95
push dword [ebp - 0x20]
xor ebx, ebx
mov ecx, dword [eax]
cmp ecx, dword [esi]
lea ecx, [ebp - 0xf4]
setl bl
call fcn.10019e95
mov eax, dword [eax]
sub eax, ebx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
dec dword [ebp - 0x20]
jns 0x10034f07
xor edi, edi
inc edi
push 3
lea ecx, [ebp - 0xf4]
call fcn.10019e95
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], eax
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1003501a
mov eax, dword [ebp - 0x3c]
push 3
lea ecx, [ebp - 0xf4]
call fcn.10019e95
xor ebx, ebx
lea ecx, [ebp - 0xf4]
push 2
cmp dword [eax], ebx
pop eax
push eax
setne bl
call fcn.10019e95
xor ecx, ecx
mov esi, eax
cmp ebx, 7
mov eax, 0xffff
push 3
setle cl
cmp ecx, eax
mov ecx, dword [ebp - 0x20]
sbb edx, edx
xor ebx, ebx
inc edx
cmp ecx, edx
mov ecx, 0xffff
setle bl
xor eax, eax
cmp ebx, dword [esi]
pop ebx
setle al
cmp eax, ecx
lea ecx, [ebp - 0xf4]
push ebx
sbb esi, esi
inc esi
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], esi
setg cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.10019e90
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x100350b2
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
mov dword [eax], 0xb3c692be
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003509b
or esi, 0xffffffff
mov eax, 0x1c84
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], 0x5a9c4c8d
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xcbc], eax
mov dword [ebp - 0xcb8], eax
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 0xcb0], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x9ee4
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], 0xd1d25bb0
je 0x10035141
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100351d2
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
jmp 0x100351d0
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x30], 0xc1731d4
mov dword [ebp - 0x10], 0xfffffff9
cmp dword [ebp - 0x10], esi
jge 0x10035193
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x10035186
mov dword [ebp - 0x20], eax
jmp 0x1003517e
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x1003517b
call dword [sym.imp.USER32.dll_CreateMenu]
xor eax, eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jle 0x1003516a
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
jle 0x10035165
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x10035160
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x100351a7
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x100351a9
mov eax, edi
cmp eax, dword [ebp - 0x28]
jge 0x100351b7
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xcb4]
cmp eax, ecx
setg dl
mov dword [ebp - 0x30], edx
xor eax, eax
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x100351f5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xeb8], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100351dd
xor eax, eax
push eax
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
xorps xmm0, xmm0
lea ecx, [ebp - 0x136c]
dec dword [eax]
lea eax, [ebp - 0x1018]
push eax
lea eax, [ebp - 0x1028]
push eax
movdqu xmmword [ebp - 0x1028], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x30d]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x12d8]
push dword [esi]
call fcn.10019e6a
mov byte [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x10], 0xa18885c6
or esi, 0xffffffff
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jg 0x100352f3
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], eax
jl 0x100352eb
push edi
lea ecx, [ebp - 0xb78]
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100352a0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb78]
call fcn.10019e95
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10035286
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100352c3
push 0x12fa
push eax
push 0x245b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
xor eax, eax
push eax
lea ecx, [ebp - 0xb78]
call fcn.10019e95
lea ecx, [ebp - 0xb78]
mov byte [ebp - 4], 0xc
mov dword [eax], 0x1bca9d69
call fcn.10019e90
dec dword [ebp - 0x1c]
jns 0x1003526c
xor eax, eax
inc dword [ebp - 0x10]
jmp 0x10035258
lea ecx, [ebp - 0x12d8]
mov byte [ebp - 4], 6
call fcn.10019e90
push 2
pop ebx
push ebx
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
mov ecx, 0xffff
cmp dword [eax], ecx
jb 0x1003537e
xor eax, eax
lea ecx, [ebp - 0x1e8]
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], edi
setle cl
imul eax, ecx, 6
mov dword [ebp - 0x48], eax
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x10035348
push edi
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1e8]
mov eax, dword [ebp - 0x48]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1e8]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x24]
xor ecx, ecx
test eax, eax
setns cl
cmp ecx, esi
je 0x1003537e
xor eax, eax
mov esi, eax
jmp 0x10035380
mov esi, edi
push edi
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
xor ecx, ecx
cmp esi, dword [eax]
sete cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x1e8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
xor eax, eax
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1e8]
xor eax, eax
push eax
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x1e8]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x24]
xor edx, edx
mov eax, dword [ebp - 0x48]
cmp eax, ecx
mov eax, dword [ebp - 0x54]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x1abe719c
setle al
imul eax, dword [ebp - 0x24]
test eax, eax
jne 0x1003540e
push eax
lea ecx, [ebp - 0x1e8]
call fcn.10019e95
cmp dword [eax], 0
jne 0x1003540e
xor eax, eax
jmp 0x10035410
mov eax, edi
mov dword [ebp - 0xeb4], eax
lea ecx, [ebp - 0x1e8]
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.10019e90
movdqa xmm0, xmmword [0x10009650]
lea eax, [ebp - 0x1118]
push eax
lea eax, [ebp - 0x1128]
push eax
lea ecx, [ebp - 0x1374]
movdqu xmmword [ebp - 0x1128], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x21e]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x14c]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0xe
xor eax, eax
mov dword [ebp - 0x4c], 0x948708ef
mov dword [ebp - 0x4c], 0xc8cac31e
mov dword [ebp - 0x34], 0x9f451dba
mov dword [ebp - 0x30], 0x82169286
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100354a9
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
cmp dword [eax], 0
je 0x1003552e
xor eax, eax
lea ecx, [ebp - 0x14c]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
push ebx
lea ecx, [ebp - 0x14c]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
push edi
call fcn.10019e95
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x14c]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10035530
mov esi, edi
jmp 0x10035532
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x14c]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x14c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
call fcn.10019e95
lea ecx, [ebp - 0x14c]
sub esi, dword [eax]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x34]
xor ebx, ebx
push 3
cmp ecx, dword [eax]
lea ecx, [ebp - 0x14c]
setge bl
call fcn.10019e95
xor ecx, ecx
push edi
cmp ebx, dword [eax]
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x14c]
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x14c]
setle bl
xor eax, eax
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], ebx
setge cl
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x14c]
setg al
or ebx, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], ebx
call fcn.10019e90
movdqa xmm0, xmmword [0x100096a0]
lea eax, [ebp - 0x1038]
push eax
lea eax, [ebp - 0x1048]
push eax
lea ecx, [ebp - 0x1454]
movdqu xmmword [ebp - 0x1048], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x22d]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x268]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0xf
xor eax, eax
mov dword [ebp - 0x10], 0x6d444182
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], 0xad7ba966
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], eax
jl 0x100356fc
push dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
call fcn.10019e95
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x100356c0
push edi
lea ecx, [ebp - 0x268]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x268]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x268]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x268]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
push dword [ebp - 0x10]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x268]
mov esi, dword [eax]
dec esi
call fcn.10019e95
xor edx, edx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
jns 0x1003563d
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], ebx
call fcn.10019e90
mov dword [ebp - 0x10], 0xf2c29a3d
xor eax, eax
mov dword [ebp - 0x3c], 0xa41449c9
mov dword [ebp - 0x30], 0xfff8
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x10035744
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x554], 0x6af1124f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003572c
xor eax, eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
mov eax, 0x3f467215
jl 0x1003575f
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x10]
jns 0x10035751
mov eax, dword [ebp - 0x550]
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp eax, 0x22db785b
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, ebx
setne dl
xor ecx, ecx
sub edx, 0xe486
cmp edx, eax
setge cl
imul eax, ecx, 0xfffc
test eax, eax
jne 0x100357ac
cmp dword [ebp - 0x30], eax
je 0x100357ae
mov edx, edi
jmp 0x100357b0
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x554]
xor ecx, ecx
movdqa xmm0, xmmword [0x10009650]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
sete cl
add eax, ecx
lea ecx, [ebp - 0x1464]
neg eax
movdqu xmmword [ebp - 0x11a8], xmm0
sbb eax, eax
neg eax
mov dword [ebp - 0x554], eax
lea eax, [ebp - 0x1198]
push eax
lea eax, [ebp - 0x11a8]
push eax
call fcn.10019ea4
lea ecx, [ebp - 0x273]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x158]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0x10
xor eax, eax
mov dword [ebp - 0x4c], 0x948708ef
mov dword [ebp - 0x4c], 0xc8cac31e
mov dword [ebp - 0x34], 0x9f451dba
mov dword [ebp - 0x30], 0x82169286
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10035850
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
cmp dword [eax], 0
je 0x100358d8
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
push 2
pop eax
push eax
lea ecx, [ebp - 0x158]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x4c], eax
push edi
call fcn.10019e95
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x158]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x100358da
mov esi, edi
jmp 0x100358dc
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x158]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x158]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
call fcn.10019e95
lea ecx, [ebp - 0x158]
sub esi, dword [eax]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x34]
xor ebx, ebx
push 3
cmp ecx, dword [eax]
lea ecx, [ebp - 0x158]
setge bl
call fcn.10019e95
xor ecx, ecx
push edi
cmp ebx, dword [eax]
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x158]
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x158]
setle bl
xor eax, eax
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], ebx
setge cl
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x158]
setg al
or ebx, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], ebx
call fcn.10019e90
movdqa xmm0, xmmword [0x100096a0]
lea eax, [ebp - 0x1058]
push eax
lea eax, [ebp - 0x1068]
push eax
lea ecx, [ebp - 0x1474]
movdqu xmmword [ebp - 0x1068], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x225]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x2a0]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x10], 0x6d444182
mov dword [ebp - 0x1c], ebx
push 3
mov dword [ebp - 0x30], 0xad7ba966
pop ebx
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], eax
jl 0x10035aa5
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
call fcn.10019e95
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10035a69
push edi
lea ecx, [ebp - 0x2a0]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x2a0]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x10]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2a0]
mov esi, dword [eax]
dec esi
call fcn.10019e95
xor edx, edx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
jns 0x100359e6
or eax, 0xffffffff
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 4], eax
call fcn.10019e90
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10035ad8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x6fc], 0xe1757117
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10035ac0
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10035af8
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1260], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10035ae0
xor eax, eax
push 2
mov dword [ebp - 0x6f4], 0x1b
pop ecx
cmp dword [ebp - 0x6f4], edi
jge 0x10035b3b
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jg 0x10035b33
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x1260], 0
jne 0x10035b31
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x10035b1c
xor eax, eax
dec dword [ebp - 0x6f4]
jmp 0x10035b05
mov dword [ebp - 0x10], 0xf2c29a3d
mov dword [ebp - 0x3c], 0xa41449c9
mov dword [ebp - 0x30], 0xfff8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ecx
jge 0x10035b70
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x57c], 0x6af1124f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10035b58
xor eax, eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x10035b8b
mov eax, 0x3f467215
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x10]
jns 0x10035b7d
mov eax, dword [ebp - 0x578]
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp eax, 0x22db785b
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, ebx
setne dl
xor ecx, ecx
sub edx, 0xe486
cmp edx, eax
setge cl
imul eax, ecx, 0xfffc
test eax, eax
jne 0x10035bd8
cmp dword [ebp - 0x30], eax
je 0x10035bda
mov edx, edi
jmp 0x10035bdc
xor eax, eax
mov edx, eax
mov eax, dword [ebp - 0x57c]
xor ecx, ecx
movdqa xmm0, xmmword [0x10009650]
cmp edx, eax
mov eax, dword [ebp - 0x3c]
sete cl
add eax, ecx
lea ecx, [ebp - 0x1484]
neg eax
movdqu xmmword [ebp - 0x1148], xmm0
sbb eax, eax
neg eax
mov dword [ebp - 0x57c], eax
lea eax, [ebp - 0x1138]
push eax
lea eax, [ebp - 0x1148]
push eax
call fcn.10019ea4
lea ecx, [ebp - 0x2f9]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x140]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0x12
xor eax, eax
mov dword [ebp - 0x4c], 0x948708ef
mov dword [ebp - 0x4c], 0xc8cac31e
mov dword [ebp - 0x34], 0x9f451dba
mov dword [ebp - 0x30], 0x82169286
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x10035c7c
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_RemovePropA]
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
cmp dword [eax], 0
je 0x10035d04
xor eax, eax
lea ecx, [ebp - 0x140]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
push 2
pop eax
push eax
lea ecx, [ebp - 0x140]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x4c], eax
push edi
call fcn.10019e95
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x140]
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
xor eax, eax
cmp dword [ebp - 0x4c], eax
je 0x10035d06
mov esi, edi
jmp 0x10035d08
xor eax, eax
mov esi, eax
push edi
lea ecx, [ebp - 0x140]
call fcn.10019e95
push edi
lea ecx, [ebp - 0x140]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
call fcn.10019e95
lea ecx, [ebp - 0x140]
sub esi, dword [eax]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x34]
xor ebx, ebx
push 3
cmp ecx, dword [eax]
lea ecx, [ebp - 0x140]
setge bl
call fcn.10019e95
xor ecx, ecx
push edi
cmp ebx, dword [eax]
setne cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x140]
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
xor ebx, ebx
cmp ecx, dword [eax]
lea ecx, [ebp - 0x140]
setle bl
xor eax, eax
push eax
call fcn.10019e95
xor ecx, ecx
cmp dword [eax], ebx
setge cl
xor eax, eax
test ecx, ecx
lea ecx, [ebp - 0x140]
setg al
or ebx, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], ebx
call fcn.10019e90
mov dword [ebp - 0x10], 0x68ec0ae9
xor eax, eax
mov dword [ebp - 0x4c], 0x9b7d6b59
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffff3
jle 0x10035fd6
movdqa xmm0, xmmword [0x10009690]
lea eax, [ebp - 0x1078]
push eax
lea eax, [ebp - 0x1088]
push eax
lea ecx, [ebp - 0x1364]
movdqu xmmword [ebp - 0x1088], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x279]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x7e8]
push dword [esi]
call fcn.10019e6a
mov dword [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x4c], 0xf8b243e5
mov dword [ebp - 0x34], 0x509ca4f0
mov dword [ebp - 0x30], 0xfda37b18
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x10035e49
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x334], 7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10035e30
xor eax, eax
mov dword [ebp - 0x334], eax
cmp dword [ebp - 0x334], 3
jg 0x10035fb9
push 2
pop ebx
mov dword [ebp - 0x4c], 0xb3cf8132
lea ecx, [ebp - 0x9f8]
push ebx
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], eax
jmp 0x10035e94
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9f8]
call fcn.10019e95
mov dword [eax], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10035e7d
push dword [ebp - 0x334]
lea ecx, [ebp - 0x7e8]
call fcn.10019e95
mov eax, dword [ebp - 0x334]
lea ecx, [ebp - 0x9f8]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x328]
xor edx, edx
test ecx, ecx
mov ecx, 0xffff
setns dl
cmp edx, ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, 0x9a27
mov eax, dword [ebp - 0x32c]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x328]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x7e8]
push dword [ebp - 0x334]
call fcn.10019e95
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
push dword [ebp - 0x334]
cmp ecx, dword [eax]
lea ecx, [ebp - 0x7e8]
setle bl
call fcn.10019e95
xor ecx, ecx
push edi
cmp ebx, dword [eax]
mov eax, dword [ebp - 0x10]
setg cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x7e8]
setne dl
sub edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x334]
neg edx
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, eax
setne bl
call fcn.10019e95
mov ecx, dword [ebp - 0x34]
mov esi, eax
xor eax, eax
cmp ebx, ecx
mov ecx, dword [ebp - 0x30]
sete al
xor edx, edx
cmp eax, ecx
setle dl
xor ecx, ecx
cmp edx, dword [esi]
setl cl
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x9f8]
mov byte [ebp - 4], 0x13
call fcn.10019e90
inc dword [ebp - 0x334]
cmp dword [ebp - 0x334], 3
jle 0x10035e5c
or ebx, 0xffffffff
lea ecx, [ebp - 0x7e8]
mov dword [ebp - 4], ebx
call fcn.10019e90
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff3
jg 0x10035dc2
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10035ff4
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFocusRect]
push 3
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0xa10]
pop ebx
mov dword [ebp - 0x24], 0xe5e5
push ebx
call fcn.10019e28
xor eax, eax
mov dword [ebp - 4], 0x15
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036036
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc08], 7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003601e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x1003605c
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa10]
call fcn.10019e95
mov dword [eax], 0xd5b611fb
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003603e
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x1003607a
mov dword [ebp - 0x30], 0x6f9b2cfb
mov dword [ebp - 0x44], 0x5816210b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
jmp 0x1003611c
mov dword [ebp - 0x1c], 0xfffd
mov ecx, dword [ebp - 0x1c]
sub ecx, 0xa221525
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0xc00]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
add esi, ecx
lea ecx, [ebp - 0xa10]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x1c]
mov edi, eax
mov edx, dword [ebp - 0x1c]
imul ecx, esi
sub edx, 0xfffffffa
neg edx
sbb edx, edx
inc edx
sub edx, ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
add ecx, 0xffff0bcf
cmp ecx, eax
mov eax, dword [ebp - 0xc00]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [edi], ecx
mov dword [ebp - 0x24], 0xfffffff9
cmp dword [ebp - 0x24], 0x38
jg 0x10036119
xor eax, eax
cmp dword [ebp - 0xc00], eax
jne 0x10036119
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0x38
jle 0x10036108
xor edi, edi
inc edi
or eax, 0xffffffff
lea ecx, [ebp - 0xa10]
mov dword [ebp - 4], eax
call fcn.10019e90
movdqa xmm0, xmmword [0x100096a0]
lea eax, [ebp - 0x11d8]
push eax
lea eax, [ebp - 0x11e8]
push eax
lea ecx, [ebp - 0x145c]
movdqu xmmword [ebp - 0x11e8], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x2fb]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x2b0]
push dword [esi]
call fcn.10019e6a
xor eax, eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x5b4]
push edi
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jge 0x100361b8
push dword [ebp - 0x14]
lea ecx, [ebp - 0x5b4]
call fcn.10019e95
mov dword [eax], 0xcf2e5664
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003619a
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffe8
jne 0x1003622e
or eax, 0xffffffff
lea ecx, [ebp - 0xdcc]
mov dword [ebp - 0x38], eax
push 0xfffffffffffffffb
pop eax
mov dword [ebp - 0x38], 0x46df37d4
mov dword [ebp - 0x38], eax
push 9
mov dword [ebp - 0x38], eax
pop eax
mov dword [ebp - 0x38], eax
push edi
call fcn.10019e28
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x4c], 0xd43ddca2
mov dword [ebp - 0x14], eax
jmp 0x1003620c
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], 6
inc dword [ebp - 0x14]
lea ecx, [ebp - 0xdcc]
cmp dword [ebp - 0x14], edi
jl 0x100361fb
inc dword [ebp - 0x4c]
mov byte [ebp - 4], 0x17
call fcn.10019e90
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe8
je 0x100361c1
xor eax, eax
push 0xfffffffffffffffd
pop ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0xffffffe5
jl 0x100362cb
jmp 0x10036242
xor eax, eax
mov dword [ebp - 0x30], 0xfff8
lea ecx, [ebp - 0x5b4]
mov dword [ebp - 0x28], 0x9f90
push eax
call fcn.10019e95
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x5b4]
neg esi
sbb esi, esi
xor eax, eax
push eax
neg esi
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
xor edx, edx
neg esi
cmp esi, ecx
setg dl
mov dword [eax], edx
xor eax, eax
mov dword [ebp - 0x28], eax
jmp 0x100362b9
mov dword [ebp - 0x30], 0x6a0122d8
lea ecx, [ebp - 0x5b4]
push dword [ebp - 0x28]
call fcn.10019e95
push dword [ebp - 0x28]
lea ecx, [ebp - 0x5b4]
mov esi, eax
call fcn.10019e95
mov ecx, dword [eax]
mov dword [esi], ecx
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x28]
xor eax, eax
cmp dword [ebp - 0x28], eax
jle 0x10036288
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffe5
jge 0x10036240
lea ecx, [ebp - 0x5b4]
mov byte [ebp - 4], 0x16
call fcn.10019e90
mov dword [ebp - 0x10], 0x6d444182
lea ecx, [ebp - 0xe8]
push ebx
call fcn.10019e28
mov byte [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x24], 0xb79ae4f7
push 2
mov dword [ebp - 0x10], eax
pop ecx
cmp dword [ebp - 0x10], ecx
jge 0x1003631d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xd4], 0x5683
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10036305
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036345
push 0xfffffffffffffff8
pop edi
push dword [ebp - 0x10]
lea ecx, [ebp - 0xe8]
call fcn.10019e95
mov dword [eax], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036328
xor edi, edi
inc edi
xor eax, eax
push eax
lea ecx, [ebp - 0xe8]
call fcn.10019e95
lea ecx, [ebp - 0xe8]
mov dword [eax], edi
xor eax, eax
push eax
call fcn.10019e95
cmp dword [eax], 0
jl 0x10036610
push 2
pop esi
mov dword [ebp - 0x10], 0xa306
lea ecx, [ebp - 0xa28]
push ebx
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100363ac
push dword [ebp - 0x14]
lea ecx, [ebp - 0xa28]
call fcn.10019e95
mov dword [eax], 0x446b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x1003638e
xor eax, eax
push eax
lea ecx, [ebp - 0xe8]
call fcn.10019e95
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
xor eax, eax
push eax
call fcn.10019e95
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0xd4]
xor eax, eax
push eax
call fcn.10019e95
xor ebx, ebx
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
test eax, eax
setns bl
xor eax, eax
push eax
call fcn.10019e95
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
cmp ebx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xe8]
push eax
call fcn.10019e95
xor ebx, ebx
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
cmp eax, dword [ebp - 0x30]
setle bl
xor eax, eax
push eax
call fcn.10019e95
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
imul eax, ebx
test eax, eax
je 0x10036548
or ebx, 0xffffffff
lea ecx, [ebp - 0xb90]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x4c], ebx
push edi
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x14], eax
jmp 0x10036491
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb90]
call fcn.10019e95
mov dword [eax], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1003647e
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0xe8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
push edi
lea ecx, [ebp - 0xa28]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
mov eax, dword [ebp - 0x10]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0xe8]
push eax
call fcn.10019e95
lea ecx, [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
mov dword [ebp - 0x4c], 0xf6a191a8
mov eax, dword [ebp - 0x4c]
xor eax, eax
push eax
call fcn.10019e95
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0xd4]
cmp eax, esi
setne cl
xor eax, eax
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xe8]
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0xd0]
xor ebx, ebx
cmp dword [ebp - 0x30], ecx
lea ecx, [ebp - 0xb90]
setge bl
add ebx, dword [eax]
xor eax, eax
push eax
call fcn.10019e95
lea ecx, [ebp - 0xb90]
mov dword [eax], ebx
call fcn.10019e90
jmp 0x100365d7
mov dword [ebp - 0x24], edi
xor eax, eax
cmp dword [ebp - 0x24], eax
jl 0x100365d7
mov ecx, 0xffff
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jg 0x100365d2
mov dword [ebp - 0x1c], 0xfffffffe
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], eax
jl 0x100365b2
mov dword [ebp - 0x14], 0xfffffffd
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edi
jg 0x100365ad
mov dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0xd4], 0
jne 0x100365ab
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10036587
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x10036575
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100365c5
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x10036566
mov ecx, 0xffff
dec dword [ebp - 0x24]
jns 0x1003655b
lea ecx, [ebp - 0xa28]
mov byte [ebp - 4], 0x19
call fcn.10019e90
xor eax, eax
lea ecx, [ebp - 0xe8]
push eax
call fcn.10019e95
lea ecx, [ebp - 0xe8]
dec dword [eax]
xor eax, eax
push eax
call fcn.10019e95
push 3
pop ebx
cmp dword [eax], 0
jge 0x1003636d
xor eax, eax
lea ecx, [ebp - 0xe8]
push eax
call fcn.10019e95
mov esi, eax
lea ecx, [ebp - 0xe8]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [esi]
mov byte [ebp - 4], 0x16
mov dword [eax], ecx
lea ecx, [ebp - 0xe8]
call fcn.10019e90
movdqa xmm0, xmmword [0x100096b0]
lea ecx, [ebp - 0x13ac]
or eax, 0xffffffff
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1098]
push eax
lea eax, [ebp - 0x10a8]
mov dword [ebp - 0x38], 0x67f5ed9a
mov dword [ebp - 0x38], 0x11151c3
push eax
movdqu xmmword [ebp - 0x10a8], xmm0
call fcn.10019ea4
lea ecx, [ebp - 0x290]
mov esi, eax
call fcn.1000a8f3
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1320]
push dword [esi]
call fcn.10019e6a
xor eax, eax
push 2
mov dword [ebp - 0x14], eax
pop ecx
cmp dword [ebp - 0x14], ecx
jge 0x100366c0
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x141c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100366ac
xor eax, eax
mov dword [ebp - 0x14], 0x477862fd
mov dword [ebp - 0x14], eax
jmp 0x1003671a
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036714
push 0x124d
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
push 2
xor eax, eax
pop ecx
dec dword [ebp - 0x4c]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x100366cc
lea ecx, [ebp - 0x1320]
call fcn.10019e90
mov dword [ebp - 0x30], 0xad7ba966
xor edx, edx
push 2
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0x10fecafe
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x38], 0x84bbc184
mov dword [ebp - 0x28], edi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, edi
jle 0x10036940
push ebx
lea ecx, [ebp - 0x7a8]
call fcn.10019e28
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x14], eax
jmp 0x100367ab
push dword [ebp - 0x14]
lea ecx, [ebp - 0x7a8]
call fcn.10019e95
mov dword [eax], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10036798
mov dword [ebp - 0x10], 0x1b
jmp 0x10036925
push 4
lea ecx, [ebp - 0x714]
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
jmp 0x100367e8
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], 8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
lea ecx, [ebp - 0x714]
jl 0x100367d7
push ebx
call fcn.10019e95
push 2
pop eax
push eax
lea ecx, [ebp - 0x7a8]
call fcn.10019e95
push 2
pop eax
push eax
lea ecx, [ebp - 0x7a8]
call fcn.10019e95
mov edx, dword [ebp - 0x10]
mov esi, eax
mov ecx, dword [ebp - 0x28]
xor eax, eax
cmp ecx, edx
setne al
add eax, dword [esi]
neg eax
jne 0x10036839
push edi
lea ecx, [ebp - 0x714]
call fcn.10019e95
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x24], eax
xor eax, eax
cmp dword [ebp - 0x24], eax
je 0x100368e1
or eax, 0xffffffff
mov dword [ebp - 0x14], edi
push 2
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x7a8]
pop eax
push eax
call fcn.10019e95
cmp dword [eax], 0
je 0x10036886
xor eax, eax
cmp dword [ebp - 0x14], eax
jne 0x10036886
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
xor eax, eax
cmp dword [ebp - 0x48], eax
jne 0x100368a5
push ebx
lea ecx, [ebp - 0x714]
call fcn.10019e95
cmp dword [eax], 0
jne 0x100368a5
xor eax, eax
jmp 0x100368a7
mov eax, edi
mov dword [ebp - 0x30], eax
push 2
pop eax
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x14], eax
jl 0x100368ef
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x100368da
push 0x252e
push eax
push 0xe4e
push eax
push 0x94a
push eax
call dword [sym.imp.KERNEL32.dll_CompareStringW]
xor eax, eax
dec dword [ebp - 0x14]
jns 0x100368b7
jmp 0x100368ef
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], al
je 0x100368f1
call dword [sym.imp.GDI32.dll_GdiFlush]
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036913
push 0xd9b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
lea ecx, [ebp - 0x714]
mov byte [ebp - 4], 0x1c
call fcn.10019e90
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff4
jne 0x100367bc
lea ecx, [ebp - 0x7a8]
mov byte [ebp - 4], 0x16
call fcn.10019e90
jmp 0x1003697e
mov dword [ebp - 0x28], 7
cmp dword [ebp - 0x28], 0xffffffef
je 0x1003697e
xor eax, eax
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036975
push 0xf43
push 0x185d
push 0x8e2
push 0x4df
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
xor eax, eax
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffef
jne 0x1003694f
mov eax, 0x61928c17
lea ecx, [ebp - 0x72c]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x1c], 0x721f7d96
push ebx
call fcn.10019e28
mov byte [ebp - 4], 0x1e
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], 0x509b955
mov dword [ebp - 0x3c], 0x1caf1e2c
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jge 0x100369f5
push dword [ebp - 0x14]
lea ecx, [ebp - 0x72c]
call fcn.10019e95
mov dword [eax], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100369d7
xor eax, eax
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], eax
jl 0x10036c2e
mov dword [ebp - 0x10], 0x6084edc0
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
mov dword [ebp - 0x10], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x1bc]
imul eax, dword [ebp - 0x10], 0xdec9
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
imul edx, dword [ebp + eax*4 - 0x1bc]
test edx, edx
jne 0x10036a49
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x72c]
mov eax, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1bc]
xor eax, eax
push eax
call fcn.10019e95
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov esi, eax
push 2
pop eax
mov ecx, dword [ebp + ecx*4 - 0x1bc]
cmp ecx, 0x60df
mov ecx, dword [ebp - 0x20]
setl dl
imul edx, dword [ebp + ecx*4 - 0x1bc]
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, dword [esi]
setg cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1bc]
sub ecx, eax
jne 0x10036ad7
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1bc], ecx
jne 0x10036ad7
xor eax, eax
mov edx, eax
jmp 0x10036ad9
mov edx, edi
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push 2
mov eax, dword [ebp + eax*4 - 0x1bc]
cmp edx, eax
setne cl
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x72c]
mov eax, dword [ebp - 0x1c]
pop eax
push eax
call fcn.10019e95
mov edx, dword [ebp - 0x14]
mov esi, eax
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, edx
mov ecx, dword [ebp - 0x14]
setne al
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [esi]
je 0x10036b26
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1bc]
test eax, eax
mov eax, dword [ebp - 0x24]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xd1f73e70
setl cl
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x1067
mov eax, dword [ebp - 0x20]
setg cl
mov eax, dword [ebp + eax*4 - 0x1bc]
sub eax, ecx
je 0x10036c00
mov dword [ebp - 0x24], 5
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x1bc], 0
je 0x10036bad
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10036ba9
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x1bc]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setne dl
cmp edx, 0x4adc
jge 0x10036bad
mov ecx, edi
jmp 0x10036bb1
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
push edi
setle dl
xor ecx, ecx
cmp eax, edx
setl cl
add ecx, dword [ebp - 0x24]
cmp ecx, 4
lea ecx, [ebp - 0x72c]
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
call fcn.10019e95
mov ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, dword [eax]
setle dl
xor eax, eax
neg edx
cmp edx, 0xfff6
setne al
mov dword [ebp - 0x24], eax
jmp 0x10036c25
mov dword [ebp - 0x10], ebx
xor eax, eax
cmp dword [ebp - 0x10], eax
jl 0x10036c2e
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036c1b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor eax, eax
dec dword [ebp - 0x10]
jns 0x10036c0a
cmp dword [ebp - 0x10], eax
jne 0x10036c2e
dec dword [ebp - 0x20]
jns 0x10036a01
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x72c]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x16
call fcn.10019e90
mov dword [ebp - 0x10], ebx
xor eax, eax
cmp dword [ebp - 0x10], eax
jl 0x10036f53
jmp 0x10036c55
xor eax, eax
push 4
pop esi
mov dword [ebp - 0x24], esi
push 2
mov dword [ebp - 0x20], eax
pop ecx
cmp dword [ebp - 0x20], ecx
jge 0x10036c7e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x90], 0xd0fa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10036c66
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10036c9e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x30c], 0xc698dc50
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10036c86
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10036cbe
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1594], 0xbf69
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10036ca6
xor eax, eax
cmp dword [ebp - 0x8c], eax
jne 0x10036d14
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x8c]
jl 0x10036cfc
xor eax, eax
cmp dword [ebp - 0x90], eax
jne 0x10036ce4
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x8c]
jge 0x10036d14
xor eax, eax
jmp 0x10036d16
mov eax, edi
add eax, 0xbf26
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x90]
imul eax, dword [ebp - 0x30c]
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], edi
jg 0x10036ddd
jmp 0x10036d56
push 2
pop ecx
push ecx
mov dword [ebp - 0x30], 0x6d4f509e
lea ecx, [ebp - 0xc50]
call fcn.10019e28
xor eax, eax
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x14], eax
jmp 0x10036d85
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], 0x60277ed4
inc dword [ebp - 0x14]
push 2
pop eax
lea ecx, [ebp - 0xc50]
cmp dword [ebp - 0x14], eax
jl 0x10036d74
mov eax, dword [ebp - 0x30c]
push edi
call fcn.10019e95
mov ecx, dword [ebp - 0x30]
mov edx, 0xeed0
sub edx, ecx
sub edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x8c]
neg edx
mov byte [ebp - 4], 0x16
sbb edx, edx
add ecx, 0x769838b2
inc edx
imul edx, ecx
lea ecx, [ebp - 0xc50]
mov dword [eax], edx
call fcn.10019e90
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
jle 0x10036d53
push edi
lea ecx, [ebp - 0xf20]
call fcn.10019e28
mov byte [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x38], 0xd3c891c5
mov dword [ebp - 0x38], 0xfffffffa
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], edi
jge 0x10036e29
push dword [ebp - 0x28]
lea ecx, [ebp - 0xf20]
call fcn.10019e95
mov dword [eax], 0x5d6c05ba
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x10036e0b
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], esi
jge 0x10036e49
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0xcfc], 0x53d8da8e
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x10036e31
xor eax, eax
mov dword [ebp - 0xcf8], eax
cmp dword [ebp - 0xcf8], eax
jl 0x10036e68
or ecx, 0xffffffff
mov dword [ebp - 0x4c], ecx
inc dword [ebp - 0x4c]
dec dword [ebp - 0xcf8]
jns 0x10036e5a
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x10036e85
push eax
push eax
push 0x2467
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [ebp - 0xf20]
mov byte [ebp - 4], 0x16
call fcn.10019e90
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
call fcn.10019e95
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp dword [ebp - 0x1c], eax
jne 0x10036f17
push edi
lea ecx, [ebp - 0x2b0]
call fcn.10019e95
xor eax, eax
lea ecx, [ebp - 0x2b0]
push eax
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2b0]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2b0]
push dword [ebp - 0x10]
call fcn.10019e95
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
push dword [ebp - 0x10]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
call fcn.10019e95
push dword [ebp - 0x10]
lea ecx, [ebp - 0x2b0]
mov esi, dword [eax]
dec esi
call fcn.10019e95
xor edx, edx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x30], ecx
dec dword [ebp - 0x10]
jns 0x10036c53
or esi, 0xffffffff
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 4], esi
call fcn.10019e90
push 2
pop eax
push eax
lea ecx, [ebp - 0x5fc]
call fcn.10019e28
mov dword [ebp - 4], 0x21
xor eax, eax
mov dword [ebp - 0x38], 0xadae8c9f
mov dword [ebp - 0x14], eax
jmp 0x10036f95
push dword [ebp - 0x14]
call fcn.10019e95
mov dword [eax], esi
inc dword [ebp - 0x14]
push 2
pop eax
lea ecx, [ebp - 0x5fc]
cmp dword [ebp - 0x14], eax
jl 0x10036f88
push edi
call fcn.10019e95
and dword [eax], 0
jmp 0x10036fc6
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], eax
jne 0x10036fd7
push edi
lea ecx, [ebp - 0x5fc]
call fcn.10019e95
inc dword [eax]
push edi
lea ecx, [ebp - 0x5fc]
call fcn.10019e95
cmp dword [eax], 0x19
jl 0x10036fae
lea ecx, [ebp - 0x5fc]
mov dword [ebp - 4], esi
call fcn.10019e90
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037007
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x810], 0xe1757117
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x10036fef
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10037027
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1278], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x1003700f
xor eax, eax
push 2
mov dword [ebp - 0x808], 0x1b
pop edx
cmp dword [ebp - 0x808], edi
jge 0x1003706a
mov dword [ebp - 0x14], 0xfffffffa
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jg 0x10037062
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x1278], 0
jne 0x10037060
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1003704b
xor eax, eax
dec dword [ebp - 0x808]
jmp 0x10037034
mov dword [ebp - 0x10], 0xd6c05baf
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], eax
jmp 0x10037129
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], 0x43d2717f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x100370ab
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xcdc], 0xfff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10037092
xor eax, eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], eax
jl 0x10037126
mov dword [ebp - 0x14], 0xfe23a266
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcdc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcdc]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcdc]
mov dword [ebp - 0x14], eax
xor eax, eax
cmp dword [ebp - 0x10], eax
jne 0x10037115
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0xcdc]
mov eax, dword [ebp - 0x10]
cmp eax, 0xfffffffc
setg cl
xor eax, eax
imul ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x10037117
cmp dword [ebp - 0x10], eax
je 0x10037117
mov eax, edi
add eax, 0xffff
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x28]
jns 0x100370b3
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1003707f
mov dword [ebp - 0x10], 0xf2c29a3d
mov dword [ebp - 0x3c], 0xa41449c9
mov dword [ebp - 0x30], 0xfff8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], edx
jge 0x10037167
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x56c], 0x6af1124f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1003714f
xor eax, eax
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x10], eax
jl 0x10037182
mov eax, 0x3f467215
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x3c], eax
dec dword [ebp - 0x10]
jns 0x10037174
mov eax, dword [ebp - 0x568]
xor ebx, ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x10]
setne bl
xor ecx, ecx
cmp eax, 0x22db785b
mov eax, dword [ebp - 0x10]
setle cl
xor edx, edx
cmp ecx, ebx
setne dl
xor ecx, ecx
sub edx, 0xe486
cmp edx, eax
setge cl
imul eax, ecx, 0xfffc
test eax, eax
jne 0x100371cf