Function at 0x10035199
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check os version
Create directory
Create process on windows
Delete file
Delete registry key
Delete registry value
Extract resource via kernel32 functions
Get common file path
Get disk information
Get file size
Get system information on windows
Get thread local storage value
Identify system language via api
Modify service
Parse pe header
Query environment variable
Read .ini file
Set registry value
Set thread local storage value
Suspend thread
Terminate process

Disassembly:
mov eax, 0x1008ace3
call fcn.100891c0
mov eax, 0x171c
call fcn.100855e0
push ebx
push esi
push edi
push 6
mov byte [ebp - 0x99], dl
xor eax, eax
pop edx
push 7
inc eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x10], eax
mov ecx, 0x17e2f9d4
pop esi
mov dword [ebp - 0x14], ecx
xor eax, eax
mov dword [ebp - 0x38], edx
push 0xfffffffffffffffd
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], eax
pop edi
jmp 0x100351e6
mov dword [ebp - 0x50], eax
dec dword [ebp - 0x50]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jge 0x100351dd
mov eax, dword [ebp - 0x10]
xor ebx, ebx
xor eax, eax
inc ebx
cmp dword [ebp - 0x14], eax
je 0x100351fa
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jne 0x10035224
cmp dword [ebp - 0x10], eax
je 0x10035226
mov eax, ebx
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x10], eax
jmp 0x10035245
mov dword [ebp - 0x50], eax
dec dword [ebp - 0x50]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jge 0x1003523c
mov eax, dword [ebp - 0x10]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x10035256
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jne 0x10035280
cmp dword [ebp - 0x10], eax
je 0x10035282
mov eax, ebx
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x9c4]
push 2
xor eax, eax
mov dword [ebp - 0x28], eax
pop esi
mov dword [ebp - 0x50], 0x96673e7e
mov dword [ebp - 0x50], 0x60ec01e6
push esi
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], eax
push 0xffffffffffffffff
pop edi
cmp dword [ebp - 0x20], esi
jge 0x100352d1
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9c4]
call fcn.1001a3f7
mov dword [eax], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x100352b7
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x100352da
mov edx, eax
jmp 0x100352e2
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x9c4]
setg dl
sub edx, 0x751c
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
xor eax, eax
push eax
call fcn.1001a3f7
mov ecx, dword [ebp - 0x50]
xor edx, edx
cmp ecx, 0x7bc7
setl dl
mov dword [eax], edx
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x1003533d
push eax
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 4], edi
call fcn.1001a3f2
push 4
lea ecx, [ebp - 0x1f0]
call fcn.1001a36d
mov dword [ebp - 4], ebx
xor eax, eax
mov dword [ebp - 0x40], 0x369
mov dword [ebp - 0x14], 0x712c5197
mov dword [ebp - 0x3c], 0x18a8
mov dword [ebp - 0x20], eax
jmp 0x10035388
push dword [ebp - 0x20]
call fcn.1001a3f7
mov dword [eax], 0xfff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
lea ecx, [ebp - 0x1f0]
jl 0x10035377
push 3
call fcn.1001a3f7
push esi
lea ecx, [ebp - 0x1f0]
call fcn.1001a3f7
xor ebx, ebx
cmp dword [eax], ebx
jne 0x100353c4
push 3
lea ecx, [ebp - 0x1f0]
call fcn.1001a3f7
cmp dword [eax], ebx
jne 0x100353c4
xor eax, eax
mov edi, eax
jmp 0x100353c9
xor eax, eax
lea edi, [eax + 1]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1f0]
xor eax, eax
inc eax
push eax
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1f0]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x1f0]
mov esi, dword [eax]
add esi, edi
xor edi, edi
inc edi
push edi
call fcn.1001a3f7
xor ebx, ebx
lea ecx, [ebp - 0x1f0]
push edi
cmp esi, dword [eax]
setle bl
call fcn.1001a3f7
push 3
lea ecx, [ebp - 0x1f0]
mov esi, dword [eax]
add esi, ebx
pop ebx
push ebx
call fcn.1001a3f7
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp esi, ecx
setge dl
cmp edx, dword [eax]
jl 0x1003550c
mov dword [ebp - 0x28], 0xa4d1
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 6
jmp 0x100354b3
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x54], edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.1001a3f7
push ebx
lea ecx, [ebp - 0x1f0]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
call fcn.1001a3f7
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x1f0]
push ebx
imul esi, dword [eax]
shl esi, 2
call fcn.1001a3f7
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
sete dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
xor eax, eax
cmp ecx, 0x314a
setne al
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe9
lea ecx, [ebp - 0x1f0]
jle 0x10035449
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x3c]
push ebx
call fcn.1001a3f7
cmp dword [ebp - 0x3c], edi
mov esi, eax
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp ecx, 0xfff9
setne al
sub eax, edx
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, dword [esi]
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x14], ecx
jmp 0x10035523
or eax, 0xffffffff
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffff9
setg cl
mov dword [ebp - 0x54], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 4], eax
call fcn.1001a3f2
mov dword [ebp - 0x3c], 0x3638ecf5
xor ecx, ecx
mov dword [ebp - 0x28], 0xb6182eac
mov dword [ebp - 0x20], 0xd68
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x3c]
cmp eax, 0xfffffffa
setl cl
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
je 0x10035582
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x20], 0x9934b0b4
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x100355e7
xor edx, edx
mov dword [ebp - 0x14], 0x168f
mov dword [ebp - 0x2c], 0xfffffffd
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, 0x9d44
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0x14], 0x17e2f9d4
push ebx
call fcn.1001a36d
push 2
pop ebx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0x44], 0x40c3
push ebx
call fcn.1001a36d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc4c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], 0x7f4a1d2d
mov dword [ebp - 0x3c], 0xb2faa963
push ebx
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 3
jge 0x10035667
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
mov dword [eax], 0xb4e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 3
jl 0x10035648
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10035689
push dword [ebp - 0x30]
lea ecx, [ebp - 0x9dc]
call fcn.1001a3f7
mov dword [eax], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1003566f
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x100356af
push dword [ebp - 0x30]
lea ecx, [ebp - 0xc4c]
call fcn.1001a3f7
mov dword [eax], 0x905f4d0c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x10035691
xor eax, eax
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
cmp dword [eax], 0
jne 0x100357e7
push ebx
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
cmp dword [eax], 0x418a5273
jl 0x100357b8
push ebx
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
push edi
lea ecx, [ebp - 0x1e0]
mov esi, eax
call fcn.1001a3f7
xor ebx, ebx
mov ecx, dword [eax]
add ecx, dword [esi]
cmp ecx, 0xfff8
lea ecx, [ebp - 0x1e0]
setne bl
xor eax, eax
push eax
call fcn.1001a3f7
cmp ebx, dword [eax]
jle 0x10035724
push 2
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1e0]
push eax
call fcn.1001a3f7
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x1e0]
xor eax, eax
push eax
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x9dc]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x1e0]
mov dword [eax], 0xfff6
xor eax, eax
push eax
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1e0]
push eax
call fcn.1001a3f7
mov eax, dword [eax]
add eax, 0xe809
jne 0x10035788
push eax
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
push edi
lea ecx, [ebp - 0x1e0]
call fcn.1001a3f7
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, 0xfffffffb
setle cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x3c], 6
cmp dword [ebp - 0x3c], eax
je 0x100357ba
xor edi, edi
lea ecx, [eax + 1]
inc edi
jmp 0x100357bc
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
xor edx, edx
add ecx, 0xffff36c8
cmp ecx, eax
setge dl
add edx, 5
cmp edx, dword [ebp - 0x44]
jge 0x100357db
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x100357dd
mov eax, edi
add eax, 0xfffffff8
jne 0x100357e7
mov esi, eax
inc eax
jmp 0x100357ec
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0xc4c]
call fcn.1001a3f7
xor ecx, ecx
or ebx, 0xffffffff
cmp esi, ebx
sete cl
mov dword [eax], ecx
lea ecx, [ebp - 0xc4c]
call fcn.1001a3f2
lea ecx, [ebp - 0x9dc]
call fcn.1001a3f2
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
mov dword [ebp - 0x38], 6
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x10], eax
jmp 0x10035846
mov dword [ebp - 0x50], eax
dec dword [ebp - 0x50]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffd
jge 0x1003583d
push 2
mov dword [ebp - 0x20], eax
pop edi
cmp dword [ebp - 0x20], edi
jge 0x1003586f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x42c], 0x24a8c6a5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10035857
xor eax, eax
mov dword [ebp - 0x42c], ebx
jmp 0x100358a0
cmp byte [ebp - 0x21], 0
je 0x10035889
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003589a
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
xor eax, eax
inc dword [ebp - 0x42c]
cmp dword [ebp - 0x42c], 0x14
mov byte [ebp - 0x21], al
jne 0x10035877
cmp byte [ebp - 0x21], 0
je 0x100358bc
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp - 0x14], eax
je 0x100358cb
mov eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jne 0x100358f5
cmp dword [ebp - 0x10], eax
je 0x100358f7
mov eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], 0xd5e48d32
mov dword [ebp - 0x44], 0xa5b04204
mov dword [ebp - 0x38], 0xd872
mov dword [ebp - 0x34], 0xffffffe2
cmp dword [ebp - 0x34], 0xffffffed
push 9
pop ecx
je 0x10035c12
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10035951
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x10fc], 0x83c8fc55
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10035938
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jg 0x10035c05
mov dword [ebp - 0x40], 0x919adb82
lea ecx, [ebp - 0x754]
push edi
call fcn.1001a36d
mov dword [ebp - 4], 5
xor eax, eax
mov dword [ebp - 0x5c], 0xd955a619
mov dword [ebp - 0x50], 0x7dc23988
mov dword [ebp - 0x20], eax
jmp 0x100359a0
push dword [ebp - 0x20]
lea ecx, [ebp - 0x754]
call fcn.1001a3f7
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1003598d
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x10fc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10f4]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x694d
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x10fc]
cmp eax, edx
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x754]
push eax
call fcn.1001a3f7
mov edx, dword [ebp - 0x40]
mov esi, eax
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, ecx
push 0xfffffffffffffffc
setge al
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [esi], eax
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
pop eax
cmp dword [ebp - 0x40], eax
jl 0x10035be5
mov dword [ebp - 0x28], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x14], 0x5c1f4aca
cmp dword [ebp - 0x1c], eax
je 0x10035a76
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp ecx, eax
setl dl
xor ebx, ebx
imul edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
cmp edx, 0x7438
setne bl
xor ecx, ecx
cmp ebx, eax
setl cl
add ecx, 0x37e05af8
je 0x10035a74
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x10035a79
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x754]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
xor eax, eax
mov esi, dword [ebp - 0x44]
push eax
call fcn.1001a3f7
xor edx, edx
mov dword [eax], esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x38]
test edx, edx
jne 0x10035abd
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10035abd
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], eax
jmp 0x10035bc9
mov dword [ebp - 0x44], 0x9c591ebb
mov dword [ebp - 0x48], 0x86cd98c7
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10035afe
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x924], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10035ae6
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10035b34
mov ecx, dword [ebp - 0x924]
xor edx, edx
mov eax, dword [ebp - 0x920]
cmp eax, ecx
mov eax, 0xc319
setge dl
xor ecx, ecx
sub eax, edx
cmp eax, ebx
mov eax, dword [ebp - 0x5c]
setle cl
add eax, ecx
jne 0x10035b34
cmp dword [ebp - 0x14], eax
jne 0x10035b34
mov edx, eax
jmp 0x10035b3c
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
je 0x10035baa
mov dword [ebp - 0x58], eax
jmp 0x10035ba2
push edi
lea ecx, [ebp - 0xdfc]
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 6
mov dword [ebp - 0x20], eax
jmp 0x10035b7d
push dword [ebp - 0x20]
call fcn.1001a3f7
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x20]
lea ecx, [ebp - 0xdfc]
cmp dword [ebp - 0x20], edi
jl 0x10035b6c
push ebx
call fcn.1001a3f7
lea ecx, [ebp - 0xdfc]
inc dword [eax]
mov byte [ebp - 4], 5
call fcn.1001a3f2
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffed
jl 0x10035b55
jmp 0x10035bc3
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035bc3
push 0x41e
push 0x2286
push eax
call dword [sym.imp.USER32.dll_InflateRect]
inc dword [ebp - 0x38]
push 0
pop eax
cmp dword [ebp - 0x38], 0x1d
jne 0x10035acd
dec dword [ebp - 0x40]
push 0xfffffffffffffffc
pop eax
cmp dword [ebp - 0x40], eax
jge 0x10035a28
or ebx, 0xffffffff
lea ecx, [ebp - 0x754]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1003595e
push 9
xor eax, eax
pop ecx
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffed
jne 0x10035925
xor eax, eax
lea ecx, [ebp - 0x9f4]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 0x96673e7e
mov dword [ebp - 0x50], 0x60ec01e6
push edi
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], 7
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10035c5c
push dword [ebp - 0x20]
lea ecx, [ebp - 0x9f4]
call fcn.1001a3f7
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10035c42
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10035c65
mov edx, eax
jmp 0x10035c6a
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0x9f4]
setg dl
sub edx, 0x751c
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
xor eax, eax
push eax
call fcn.1001a3f7
mov ecx, dword [ebp - 0x50]
xor edx, edx
cmp ecx, 0x7bc7
setl dl
mov dword [eax], edx
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035cc5
push eax
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
lea ecx, [ebp - 0x9f4]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
push edi
lea ecx, [ebp - 0x4d8]
call fcn.1001a36d
push 8
pop eax
mov dword [ebp - 4], eax
mov ecx, 0xffff
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10035d0a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x146c], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10035cf5
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10035d30
push dword [ebp - 0x10]
lea ecx, [ebp - 0x4d8]
call fcn.1001a3f7
mov dword [eax], 0xb0f73838
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10035d12
xor eax, eax
push eax
lea ecx, [ebp - 0x4d8]
call fcn.1001a3f7
and dword [eax], 0
jmp 0x10035d66
xor eax, eax
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x4d8]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x146c], 0xfffc
xor eax, eax
push eax
call fcn.1001a3f7
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x4d8]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x4d8]
cmp dword [eax], 3
jl 0x10035d41
mov dword [ebp - 4], ebx
call fcn.1001a3f2
xor edx, edx
mov dword [ebp - 0x28], 5
inc edx
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x14
jne 0x10035e2a
mov dword [ebp - 0x50], 0x66a07563
mov dword [ebp - 0x20], eax
jmp 0x10035dc0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x790], 0x568d
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10035daf
mov eax, dword [ebp - 0x790]
sub eax, dword [ebp - 0x78c]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x78c]
cmp eax, edx
setle cl
xor eax, eax
cmp ecx, 0x7ab6
je 0x10035dfb
cmp dword [ebp - 0x50], eax
je 0x10035dfb
lea esi, [eax + 1]
jmp 0x10035dfd
mov esi, eax
mov ecx, dword [ebp - 0x78c]
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
push 0
setg dl
xor eax, eax
cmp edx, esi
setge al
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x14
pop eax
push 1
pop edx
je 0x10035da3
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0xa0c]
xor eax, eax
mov dword [ebp - 0x28], 0x520ea0c8
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], 0xfffffffb
push eax
call fcn.1001a36d
xor ebx, ebx
mov dword [ebp - 4], 9
inc ebx
lea ecx, [ebp - 0xc64]
push ebx
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10035e8f
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa0c]
call fcn.1001a3f7
and dword [eax], 0
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10035e71
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10035eab
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc64]
call fcn.1001a3f7
mov dword [eax], 0xeded
inc dword [ebp - 0x10]
xor eax, eax
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10035e94
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x34]
je 0x10035f68
xor eax, eax
cmp dword [ebp - 0x34], eax
je 0x10035f6a
mov edx, eax
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
imul ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x34]
sub edx, ecx
lea ecx, [ebp - 0xa0c]
neg edx
sbb edx, edx
lea esi, [edx + 1]
sub esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x34]
add esi, eax
xor eax, eax
push eax
call fcn.1001a3f7
push 8
pop ebx
mov dword [eax], esi
mov eax, dword [ebp - 0x34]
cmp ebx, eax
sbb eax, eax
neg eax
sub eax, 0x9c1464f1
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, esi
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x50]
neg edx
sbb edx, edx
inc edx
cmp edx, ebx
jbe 0x10035f7d
xor eax, eax
lea ecx, [ebp - 0xc64]
push eax
call fcn.1001a3f7
cmp dword [eax], 0
jne 0x10035f7d
xor esi, esi
xor eax, eax
inc esi
jmp 0x10035f82
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10035ed0
xor eax, eax
lea edx, [eax + 1]
jmp 0x10035ed2
xor esi, esi
inc esi
mov eax, esi
cmp eax, dword [ebp - 0x28]
jle 0x10035f9b
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035fac
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
jmp 0x10035fac
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10035fac
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
lea ecx, [ebp - 0xc64]
call fcn.1001a3f2
or eax, 0xffffffff
lea ecx, [ebp - 0xa0c]
mov dword [ebp - 4], eax
call fcn.1001a3f2
push 0xfffffffffffffffc
pop ebx
mov dword [ebp - 0x10], esi
lea ecx, [ebp - 0xdf0]
mov dword [ebp - 0x30], 0xfffffffb
mov dword [ebp - 0x1c], ebx
push 3
call fcn.1001a36d
mov dword [ebp - 4], 0xb
mov eax, 0xadb5d230
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0xee4], eax
mov dword [ebp - 0xee0], eax
mov dword [ebp - 0xedc], eax
mov dword [ebp - 0xed8], eax
xor eax, eax
mov dword [ebp - 0x50], 0xe2278150
mov dword [ebp - 0x20], eax
jmp 0x10036031
push dword [ebp - 0x20]
lea ecx, [ebp - 0xdf0]
call fcn.1001a3f7
mov dword [eax], 0x521fafbf
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003601a
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor eax, eax
cmp dword [ebp - 0x30], eax
jne 0x10036053
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0xffffffe6
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
jge 0x10036096
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003608d
push 0x13d0
call ebx
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor eax, eax
dec dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xffffffe6
jl 0x1003606d
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x10036100
mov dword [ebp - 0x30], eax
jmp 0x100360f8
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x100360cb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfbc], 0x19716e28
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x100360b2
xor eax, eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x100360ef
push dword [ebp - 0x28]
lea ecx, [ebp - 0xdf0]
call fcn.1001a3f7
mov dword [eax], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 3
jl 0x100360d4
xor eax, eax
inc dword [ebp - 0xfbc]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x100360a2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1003609d
mov dword [ebp - 0x1c], eax
jmp 0x1003618f
mov dword [ebp - 0x20], 0x12fd89d6
mov dword [ebp - 0x50], esi
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, 0x1af53c8c
mov ecx, 0x5b50
setle al
imul eax, dword [ebp - 0x20]
sub ecx, eax
dec ecx
add ecx, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0xee4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp eax, esi
setl cl
mov dword [ebp - 0x50], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x50]
cmp eax, 0x85d5fca4
setne cl
xor eax, eax
cmp ecx, 0x2a1d
setle al
xor ecx, ecx
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, edx
setg cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
je 0x1003610d
or eax, 0xffffffff
lea ecx, [ebp - 0xdf0]
mov dword [ebp - 4], eax
call fcn.1001a3f2
mov dword [ebp - 0x58], 0x17e2f9d4
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x3c], 0xa0a9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x100361e6
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x78], 0xfffffffe
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x100361cb
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x78], 8
cmp dword [ebp - 0x78], 0x1c
jl 0x10036262
push 0xfffffffffffffffc
or esi, 0xffffffff
pop ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x10], 0x13
jmp 0x1003621d
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003621a
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0xfffffffffffffffc
xor eax, eax
pop ecx
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jge 0x10036205
mov dword [ebp - 0x10], 0x15
cmp dword [ebp - 0x10], 0xffffffea
jne 0x10036256
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003624a
push eax
push eax
push 0x1101
call ebx
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffea
je 0x1003622f
push 0xfffffffffffffffc
pop ecx
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0x1c
jge 0x100361f9
xor esi, esi
inc esi
mov eax, dword [ebp - 0x78]
xor edx, edx
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2c], esi
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x78]
setne cl
xor ebx, ebx
cmp ecx, eax
mov eax, dword [ebp - 0x3c]
push 4
setge bl
xor ecx, ecx
sub edx, ebx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x38], 6
call fcn.1001a36d
mov dword [ebp - 4], 0xc
xor eax, eax
mov dword [ebp - 0x40], 0x369
mov dword [ebp - 0x14], 0x712c5197
mov dword [ebp - 0x3c], 0x18a8
mov dword [ebp - 0x20], eax
jmp 0x100362ef
push dword [ebp - 0x20]
call fcn.1001a3f7
mov dword [eax], 0xfff9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
lea ecx, [ebp - 0x1b8]
jl 0x100362de
push 3
call fcn.1001a3f7
push edi
lea ecx, [ebp - 0x1b8]
call fcn.1001a3f7
xor ebx, ebx
cmp dword [eax], ebx
jne 0x1003632b
push 3
lea ecx, [ebp - 0x1b8]
call fcn.1001a3f7
cmp dword [eax], ebx
jne 0x1003632b
xor eax, eax
mov edi, eax
jmp 0x10036333
xor eax, eax
xor esi, esi
inc esi
lea edi, [eax + 1]
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1b8]
push esi
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1b8]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x1b8]
mov esi, dword [eax]
add esi, edi
xor edi, edi
inc edi
push edi
call fcn.1001a3f7
xor ebx, ebx
lea ecx, [ebp - 0x1b8]
push edi
cmp esi, dword [eax]
setle bl
call fcn.1001a3f7
push 3
lea ecx, [ebp - 0x1b8]
mov esi, dword [eax]
add esi, ebx
pop ebx
push ebx
call fcn.1001a3f7
mov ecx, dword [ebp - 0x40]
xor edx, edx
cmp esi, ecx
setge dl
cmp edx, dword [eax]
jl 0x10036473
mov dword [ebp - 0x28], 0xa4d1
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], 6
jmp 0x1003641a
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x54], edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
xor eax, eax
push eax
call fcn.1001a3f7
push ebx
lea ecx, [ebp - 0x1b8]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
call fcn.1001a3f7
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x1b8]
push ebx
imul esi, dword [eax]
shl esi, 2
call fcn.1001a3f7
mov ecx, dword [ebp - 0x14]
xor edx, edx
cmp esi, ecx
sete dl
xor ecx, ecx
cmp edx, dword [eax]
setg cl
xor eax, eax
cmp ecx, 0x314a
setne al
mov dword [ebp - 0x54], eax
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0xffffffe9
lea ecx, [ebp - 0x1b8]
jle 0x100363b0
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
dec dword [ebp - 0x3c]
push ebx
call fcn.1001a3f7
cmp dword [ebp - 0x3c], edi
mov esi, eax
sbb edx, edx
inc edx
sub edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp ecx, 0xfff9
setne al
sub eax, edx
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, dword [esi]
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x14], ecx
jmp 0x1003648a
or eax, 0xffffffff
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x54], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffff9
setg cl
mov dword [ebp - 0x54], ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 4], eax
call fcn.1001a3f2
mov dword [ebp - 0x2c], 7
xor ecx, ecx
mov dword [ebp - 0x3c], 0x3638ecf5
mov dword [ebp - 0x28], 0xb6182eac
mov dword [ebp - 0x20], 0xd68
mov dword [ebp - 0x2c], edi
mov eax, dword [ebp - 0x3c]
cmp eax, 0xfffffffa
setl cl
xor eax, eax
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x28], eax
je 0x100364f0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x20], 0x9934b0b4
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x10036555
xor edx, edx
mov dword [ebp - 0x14], 0x168f
mov dword [ebp - 0x2c], 0xfffffffd
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp ecx, 0x9d44
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setle cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x14]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xfffffffd
jl 0x10036715
mov esi, 0xa1c33c01
jmp 0x1003656d
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1003658f
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x480], 0x24a8c6a5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10036576
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x480], ecx
jmp 0x100365c3
cmp byte [ebp - 0x21], 0
je 0x100365ac
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100365bd
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
xor eax, eax
inc dword [ebp - 0x480]
cmp dword [ebp - 0x480], 0x14
mov byte [ebp - 0x21], al
jne 0x1003659a
cmp byte [ebp - 0x21], 0
je 0x100365e1
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor eax, eax
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0xa24]
mov eax, 0xffff
mov dword [ebp - 0x28], eax
push edi
call fcn.1001a36d
mov dword [ebp - 4], 0xd
xor edi, edi
push 8
pop eax
mov dword [ebp - 0x3c], eax
inc edi
mov dword [ebp - 0x50], 0x378f1e0c
xor eax, eax
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x97c], esi
mov dword [ebp - 0x978], esi
mov dword [ebp - 0x974], esi
mov dword [ebp - 0x970], esi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x1003665e
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa24]
call fcn.1001a3f7
and dword [eax], 0
xor eax, eax
inc dword [ebp - 0x20]
inc eax
cmp dword [ebp - 0x20], eax
jl 0x1003663d
xor edi, edi
xor eax, eax
inc edi
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10036672
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
xor eax, eax
push eax
lea ecx, [ebp - 0xa24]
call fcn.1001a3f7
xor ecx, ecx
and dword [eax], 0
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0x1d82c32b
setl cl
mov dword [ebp - 0x50], ecx
mov ecx, 0xcc1dab97
mov edx, dword [ebp - 0x3c]
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
setge cl
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setle dl
xor ecx, ecx
dec edx
cmp edx, eax
setne cl
mov dword [ebp - 0x97c], ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0xa24]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x978]
mov dword [ebp - 0x2c], eax
or eax, 0xffffffff
mov dword [ebp - 4], eax
call fcn.1001a3f2
dec dword [ebp - 0x44]
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffd
jge 0x1003656b
push ebx
lea ecx, [ebp - 0x1c4]
call fcn.1001a36d
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0xa3c]
mov dword [ebp - 0x44], 0x40c3
push 2
call fcn.1001a36d
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xc7c]
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x2c], 0x7f4a1d2d
mov dword [ebp - 0x3c], 0xb2faa963
push 2
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x1003678c
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
mov dword [eax], 0xb4e1
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x1003676e
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x100367b0
push dword [ebp - 0x30]
lea ecx, [ebp - 0xa3c]
call fcn.1001a3f7
mov dword [eax], edi
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x10036795
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x100367d8
push dword [ebp - 0x30]
lea ecx, [ebp - 0xc7c]
call fcn.1001a3f7
mov dword [eax], 0x905f4d0c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 2
jl 0x100367b9
xor eax, eax
push eax
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
cmp dword [eax], 0
jne 0x10036910
push 2
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
cmp dword [eax], 0x418a5273
jl 0x100368e0
push 2
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
push edi
lea ecx, [ebp - 0x1c4]
mov esi, eax
call fcn.1001a3f7
xor ebx, ebx
mov ecx, dword [eax]
add ecx, dword [esi]
cmp ecx, 0xfff8
lea ecx, [ebp - 0x1c4]
setne bl
xor eax, eax
push eax
call fcn.1001a3f7
cmp ebx, dword [eax]
jle 0x1003684f
push 2
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1c4]
push eax
call fcn.1001a3f7
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x1c4]
xor eax, eax
push eax
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0xa3c]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x1c4]
mov dword [eax], 0xfff6
xor eax, eax
push eax
call fcn.1001a3f7
xor eax, eax
lea ecx, [ebp - 0x1c4]
push eax
call fcn.1001a3f7
mov eax, dword [eax]
add eax, 0xe809
jne 0x100368b3
push eax
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
push edi
lea ecx, [ebp - 0x1c4]
call fcn.1001a3f7
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp eax, 0xfffffffb
setle cl
xor eax, eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x3c], 6
cmp dword [ebp - 0x3c], eax
je 0x100368e2
lea ecx, [eax + 1]
jmp 0x100368e4
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
xor edx, edx
add ecx, 0xffff36c8
cmp ecx, eax
setge dl
add edx, 5
cmp edx, dword [ebp - 0x44]
jge 0x10036903
xor eax, eax
cmp dword [ebp - 0x3c], eax
je 0x10036906
xor eax, eax
inc eax
add eax, 0xfffffff8
jne 0x10036910
mov esi, eax
inc eax
jmp 0x10036915
xor eax, eax
inc eax
mov esi, eax
push eax
lea ecx, [ebp - 0xc7c]
call fcn.1001a3f7
xor ecx, ecx
or edi, 0xffffffff
cmp esi, edi
sete cl
mov dword [eax], ecx
lea ecx, [ebp - 0xc7c]
call fcn.1001a3f2
lea ecx, [ebp - 0xa3c]
call fcn.1001a3f2
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 4], edi
call fcn.1001a3f2
mov eax, dword [ebp - 0x10]
xor ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp - 0x58], eax
je 0x10036960
mov eax, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], eax
jne 0x1003698a
cmp dword [ebp - 0x10], eax
je 0x1003698c
mov eax, ecx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], 0xd5e48d32
mov dword [ebp - 0x44], 0xa5b04204
mov dword [ebp - 0x38], 0xd872
mov dword [ebp - 0x34], 0xffffffe2
cmp dword [ebp - 0x34], 0xffffffed
je 0x10036cae
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x100369e7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1118], 0x83c8fc55
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x100369ce
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jg 0x10036ca1
mov dword [ebp - 0x40], 0x919adb82
lea ecx, [ebp - 0x898]
push 2
call fcn.1001a36d
mov dword [ebp - 4], 0x11
xor eax, eax
mov dword [ebp - 0x5c], 0xd955a619
mov dword [ebp - 0x50], 0x7dc23988
mov dword [ebp - 0x20], eax
jmp 0x10036a37
push dword [ebp - 0x20]
lea ecx, [ebp - 0x898]
call fcn.1001a3f7
mov dword [eax], edi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10036a24
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1118]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1110]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x694d
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1118]
cmp eax, edx
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x898]
push eax
call fcn.1001a3f7
mov edx, dword [ebp - 0x40]
mov esi, eax
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, ecx
push 0xfffffffffffffffc
setge al
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [esi], eax
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
pop eax
cmp dword [ebp - 0x40], eax
jl 0x10036c84
push eax
pop edi
mov dword [ebp - 0x28], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x14], 0x5c1f4aca
cmp dword [ebp - 0x1c], eax
je 0x10036b10
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp ecx, eax
setl dl
xor ebx, ebx
imul edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
cmp edx, 0x7438
setne bl
xor ecx, ecx
cmp ebx, eax
setl cl
add ecx, 0x37e05af8
je 0x10036b0e
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x10036b13
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x898]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
xor eax, eax
mov esi, dword [ebp - 0x44]
push eax
call fcn.1001a3f7
xor edx, edx
mov dword [eax], esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x38]
test edx, edx
jne 0x10036b57
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x10036b57
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x1d
je 0x10036c75
push 2
pop esi
mov dword [ebp - 0x44], 0x9c591ebb
mov dword [ebp - 0x48], 0x86cd98c7
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], esi
jge 0x10036ba0
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x934], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10036b88
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10036bd6
mov ecx, dword [ebp - 0x934]
xor edx, edx
mov eax, dword [ebp - 0x930]
cmp eax, ecx
mov eax, 0xc319
setge dl
xor ecx, ecx
sub eax, edx
cmp eax, ebx
mov eax, dword [ebp - 0x5c]
setle cl
add eax, ecx
jne 0x10036bd6
cmp dword [ebp - 0x14], eax
jne 0x10036bd6
mov edx, eax
jmp 0x10036bde
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
je 0x10036c4c
mov dword [ebp - 0x58], eax
jmp 0x10036c44
push esi
lea ecx, [ebp - 0xda8]
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x20], eax
jmp 0x10036c1f
push dword [ebp - 0x20]
call fcn.1001a3f7
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x20]
lea ecx, [ebp - 0xda8]
cmp dword [ebp - 0x20], esi
jl 0x10036c0e
push ebx
call fcn.1001a3f7
lea ecx, [ebp - 0xda8]
inc dword [eax]
mov byte [ebp - 4], 0x11
call fcn.1001a3f2
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffed
jl 0x10036bf7
jmp 0x10036c65
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10036c65
push 0x41e
push 0x2286
push eax
call dword [sym.imp.USER32.dll_InflateRect]
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x1d
push 0
pop eax
jne 0x10036b6f
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
jge 0x10036ac2
or edi, 0xffffffff
lea ecx, [ebp - 0x898]
mov dword [ebp - 4], edi
call fcn.1001a3f2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x100369f4
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffed
jne 0x100369b7
push 2
pop edi
push edi
lea ecx, [ebp - 0xc94]
call fcn.1001a36d
xor ebx, ebx
mov dword [ebp - 4], 0x13
inc ebx
mov dword [ebp - 0x20], 0xfffffff9
push ebx
lea ecx, [ebp - 0x11a8]
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10036d06
push dword [ebp - 0x10]
lea ecx, [ebp - 0xc94]
call fcn.1001a3f7
mov dword [eax], 0xfff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10036ce8
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x10036d2f
push dword [ebp - 0x10]
lea ecx, [ebp - 0x11a8]
call fcn.1001a3f7
mov dword [eax], 0x1208373b
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10036d0e
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x10036e73
movdqa xmm0, xmmword [0x100081a0]
lea eax, [ebp - 0x1290]
push 4
pop ebx
push eax
lea eax, [ebp - 0x12a0]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x48], 0xfffffffe
lea ecx, [ebp - 0x1658]
push eax
movdqu xmmword [ebp - 0x12a0], xmm0
call fcn.1001a406
lea ecx, [ebp - 0x2b6]
mov esi, eax
call fcn.10009313
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x14e4]
push dword [esi]
call fcn.1001a3cc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xa54]
mov dword [ebp - 0x48], 7
push ebx
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x16
xor ebx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], eax
inc ebx
cmp dword [ebp - 0x30], ebx
jge 0x10036dd4
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x688], 0x468a07c6
xor eax, eax
inc dword [ebp - 0x30]
inc eax
cmp dword [ebp - 0x30], eax
jl 0x10036db6
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10036dfa
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1080], 6
xor eax, eax
inc dword [ebp - 0x30]
inc eax
cmp dword [ebp - 0x30], eax
jl 0x10036ddc
xor ebx, ebx
xor eax, eax
inc ebx
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x10036e22
push dword [ebp - 0x30]
lea ecx, [ebp - 0xa54]
call fcn.1001a3f7
mov dword [eax], 0xbf0bb9a6
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 4
jl 0x10036e03
xor eax, eax
mov dword [ebp - 0x688], eax
lea ecx, [ebp - 0xc94]
push ebx
call fcn.1001a3f7
xor ebx, ebx
lea ecx, [ebp - 0xa54]
cmp dword [eax], ebx
setne bl
xor eax, eax
push eax
call fcn.1001a3f7
xor ecx, ecx
cmp ebx, 0xd1f28301
sete cl
mov dword [eax], ecx
lea ecx, [ebp - 0xa54]
call fcn.1001a3f2
lea ecx, [ebp - 0x14e4]
mov byte [ebp - 4], 0x14
call fcn.1001a3f2
inc dword [ebp - 0x20]
xor eax, eax
inc eax
cmp dword [ebp - 0x20], eax
jle 0x10036d37
lea ecx, [ebp - 0x11a8]
call fcn.1001a3f2
or ebx, 0xffffffff
lea ecx, [ebp - 0xc94]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
xor eax, eax
lea ecx, [ebp - 0xa6c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], 0x96673e7e
mov dword [ebp - 0x50], 0x60ec01e6
push edi
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10036ee5
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa6c]
call fcn.1001a3f7
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x10036ecb
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x10036eee
mov edx, eax
jmp 0x10036ef3
xor eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x28]
xor ecx, ecx
add eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setl cl
xor edx, edx
cmp ecx, eax
lea ecx, [ebp - 0xa6c]
setg dl
sub edx, 0x751c
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
xor eax, eax
push eax
call fcn.1001a3f7
mov ecx, dword [ebp - 0x50]
xor edx, edx
cmp ecx, 0x7bc7
setl dl
mov dword [eax], edx
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x10036f4e
push eax
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
lea ecx, [ebp - 0xa6c]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
push edi
lea ecx, [ebp - 0x550]
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x10036f94
mov edx, 0xffff
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1484], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10036f7f
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x10036fba
push dword [ebp - 0x10]
lea ecx, [ebp - 0x550]
call fcn.1001a3f7
mov dword [eax], 0xb0f73838
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10036f9c
xor eax, eax
push eax
lea ecx, [ebp - 0x550]
call fcn.1001a3f7
and dword [eax], 0
jmp 0x10036ff0
xor eax, eax
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x550]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1484], 0xfffc
xor eax, eax
push eax
call fcn.1001a3f7
inc dword [eax]
xor eax, eax
lea ecx, [ebp - 0x550]
push eax
call fcn.1001a3f7
lea ecx, [ebp - 0x550]
cmp dword [eax], 3
jl 0x10036fcb
mov dword [ebp - 4], ebx
call fcn.1001a3f2
mov dword [ebp - 0x34], 0xd5e48d32
mov dword [ebp - 0x44], 0xa5b04204
mov dword [ebp - 0x38], 0xd872
mov dword [ebp - 0x34], 0xffffffe2
cmp dword [ebp - 0x34], 0xffffffed
je 0x10037327
xor eax, eax
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x58], 9
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10037069
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1134], 0x83c8fc55
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x10037050
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jg 0x1003731a
mov dword [ebp - 0x40], 0x919adb82
lea ecx, [ebp - 0x7a8]
push edi
call fcn.1001a36d
mov dword [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x5c], 0xd955a619
mov dword [ebp - 0x50], 0x7dc23988
mov dword [ebp - 0x20], eax
jmp 0x100370b8
push dword [ebp - 0x20]
lea ecx, [ebp - 0x7a8]
call fcn.1001a3f7
mov dword [eax], ebx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100370a5
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1134]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x112c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x694d
mov eax, dword [ebp - 0x34]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x1134]
cmp eax, edx
setge cl
xor eax, eax
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x7a8]
push eax
call fcn.1001a3f7
mov edx, dword [ebp - 0x40]
mov esi, eax
mov ecx, dword [ebp - 0x1c]
xor eax, eax
cmp edx, ecx
push 0xfffffffffffffffc
setge al
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
mov dword [esi], eax
xor eax, eax
inc eax
mov dword [ebp - 0x40], eax
pop eax
cmp dword [ebp - 0x40], eax
jl 0x100372fd
mov dword [ebp - 0x28], 0xfffffffd
xor eax, eax
mov dword [ebp - 0x14], 0x5c1f4aca
cmp dword [ebp - 0x1c], eax
je 0x1003718e
mov ecx, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0x1c]
neg ecx
cmp ecx, eax
setl dl
xor ebx, ebx
imul edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
cmp edx, 0x7438
setne bl
xor ecx, ecx
cmp ebx, eax
setl cl
add ecx, 0x37e05af8
je 0x1003718c
xor ebx, ebx
inc ebx
mov eax, ebx
jmp 0x10037191
xor eax, eax
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x7a8]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x44], eax
xor eax, eax
mov esi, dword [ebp - 0x44]
push eax
call fcn.1001a3f7
xor edx, edx
mov dword [eax], esi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x38]
test edx, edx
jne 0x100371d5
xor eax, eax
cmp dword [ebp - 0x34], eax
jne 0x100371d5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], eax
jmp 0x100372e1
mov dword [ebp - 0x44], 0x9c591ebb
mov dword [ebp - 0x48], 0x86cd98c7
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10037216
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x944], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100371fe
xor eax, eax
cmp dword [ebp - 0x28], eax
jne 0x1003724c
mov ecx, dword [ebp - 0x944]
xor edx, edx
mov eax, dword [ebp - 0x940]
cmp eax, ecx
mov eax, 0xc319
setge dl
xor ecx, ecx
sub eax, edx
cmp eax, ebx
mov eax, dword [ebp - 0x5c]
setle cl
add eax, ecx
jne 0x1003724c
cmp dword [ebp - 0x14], eax
jne 0x1003724c
mov edx, eax
jmp 0x10037254
xor eax, eax
xor ebx, ebx
inc ebx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], eax
je 0x100372c2
mov dword [ebp - 0x58], eax
jmp 0x100372ba
push edi
lea ecx, [ebp - 0xe20]
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x20], eax
jmp 0x10037295
push dword [ebp - 0x20]
call fcn.1001a3f7
mov dword [eax], 0xfffffffb
inc dword [ebp - 0x20]
lea ecx, [ebp - 0xe20]
cmp dword [ebp - 0x20], edi
jl 0x10037284
push ebx
call fcn.1001a3f7
lea ecx, [ebp - 0xe20]
inc dword [eax]
mov byte [ebp - 4], 0x19
call fcn.1001a3f2
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xffffffed
jl 0x1003726d
jmp 0x100372db
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], al
je 0x100372db
push 0x41e
push 0x2286
push eax
call dword [sym.imp.USER32.dll_InflateRect]
inc dword [ebp - 0x38]
push 0
pop eax
cmp dword [ebp - 0x38], 0x1d
jne 0x100371e5
dec dword [ebp - 0x40]
push 0xfffffffffffffffc
pop eax
cmp dword [ebp - 0x40], eax
jge 0x10037140
or ebx, 0xffffffff
lea ecx, [ebp - 0x7a8]
mov dword [ebp - 4], ebx
call fcn.1001a3f2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x10037076
xor eax, eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xffffffed
jne 0x10037039
push edi
lea ecx, [ebp - 0xcac]
call fcn.1001a36d
xor ebx, ebx
mov dword [ebp - 4], 0x1b
inc ebx
mov dword [ebp - 0x20], 0xfffffff9
push ebx
lea ecx, [ebp - 0xfd4]
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], edi
jge 0x1003737c
push dword [ebp - 0x10]
lea ecx, [ebp - 0xcac]
call fcn.1001a3f7
mov dword [eax], 0xfff7
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1003735e
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jge 0x100373a5
push dword [ebp - 0x10]
lea ecx, [ebp - 0xfd4]
call fcn.1001a3f7
mov dword [eax], 0x1208373b
xor eax, eax
inc dword [ebp - 0x10]
inc eax
cmp dword [ebp - 0x10], eax
jl 0x10037384
xor eax, eax
mov dword [ebp - 0x20], eax
xor edi, edi
xor eax, eax
inc edi
inc eax
cmp dword [ebp - 0x20], eax
jg 0x100374f1
movdqa xmm0, xmmword [0x100081a0]
lea eax, [ebp - 0x1370]
push 4
pop ebx
push eax
lea eax, [ebp - 0x1380]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x48], 0xfffffffe
lea ecx, [ebp - 0x1600]
push eax
movdqu xmmword [ebp - 0x1380], xmm0
call fcn.1001a406
lea ecx, [ebp - 0x2ba]
mov esi, eax
call fcn.10009313
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x1544]
push dword [esi]
call fcn.1001a3cc
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa84]
mov dword [ebp - 0x48], 7
push ebx
call fcn.1001a36d
xor eax, eax
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edi
jge 0x10037451
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x71c], 0x468a07c6
xor eax, eax
inc dword [ebp - 0x30]
inc eax
cmp dword [ebp - 0x30], eax
jl 0x10037433
xor edi, edi
xor eax, eax
inc edi
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], edi
jge 0x10037471
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xfe4], 6
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x10037459
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], ebx
jge 0x10037497
push dword [ebp - 0x30]
lea ecx, [ebp - 0xa84]
call fcn.1001a3f7
mov dword [eax], 0xbf0bb9a6
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jl 0x10037479
xor eax, eax
mov dword [ebp - 0x71c], eax
lea ecx, [ebp - 0xcac]
push edi
call fcn.1001a3f7
xor ebx, ebx
lea ecx, [ebp - 0xa84]
cmp dword [eax], ebx
setne bl
xor eax, eax
push eax
call fcn.1001a3f7
xor ecx, ecx
cmp ebx, 0xd1f28301
sete cl
mov dword [eax], ecx
lea ecx, [ebp - 0xa84]
call fcn.1001a3f2
lea ecx, [ebp - 0x1544]
mov byte [ebp - 4], 0x1c
call fcn.1001a3f2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jle 0x100373b7
lea ecx, [ebp - 0xfd4]
call fcn.1001a3f2
or esi, 0xffffffff
lea ecx, [ebp - 0xcac]
mov dword [ebp - 4], esi
call fcn.1001a3f2
xor eax, eax
push 2
mov dword [ebp - 0x20], eax
pop ebx
cmp dword [ebp - 0x20], ebx
jge 0x10037532
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x43c], 0x24a8c6a5
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x1003751a
xor eax, eax
mov dword [ebp - 0x43c], esi
jmp 0x10037563
cmp byte [ebp - 0x21], 0
je 0x1003754c
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x1003755d
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
xor eax, eax
inc dword [ebp - 0x43c]
cmp dword [ebp - 0x43c], 0x14
mov byte [ebp - 0x21], al
jne 0x1003753a
cmp byte [ebp - 0x21], 0
je 0x10037581
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor eax, eax
mov dword [ebp - 0x10], 0x62d5e48d
mov dword [ebp - 0x50], 0x13af
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x100375a0
call dword [sym.imp.KERNEL32.dll_SwitchToThread]
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x10037655
mov dword [ebp - 0x40], 0xee7d214c
mov dword [ebp - 0x2c], 0xfffd
mov dword [ebp - 0x44], 0x6c19
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100375dd
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x6c0], 0x5683c8fc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100375c5
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x1003764d
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x6bc], eax
jne 0x10037652
cmp dword [ebp - 0x10], 0x69f3
jg 0x1003763b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x1003760e
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], 0x9c45
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x6c0]
cmp eax, dword [ebp - 0x44]
jge 0x10037639
xor eax, eax
cmp dword [ebp - 0x40], eax
je 0x10037639
cmp dword [ebp - 0x54], eax
je 0x10037639
mov ecx, edi
jmp 0x1003763d
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x40]
push 0
mov dword [ebp + eax*4 - 0x6c0], ecx
inc dword [ebp - 0x40]
pop eax
cmp dword [ebp - 0x40], edi
jle 0x100375e2
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff4
jle 0x100375a8
movdqa xmm0, xmmword [0x10008110]
lea eax, [ebp - 0x12d0]
push eax
lea eax, [ebp - 0x12e0]
push eax
lea ecx, [ebp - 0x15a0]
movdqu xmmword [ebp - 0x12e0], xmm0
call fcn.1001a406
lea ecx, [ebp - 0x2bc]
mov esi, eax
call fcn.10009313
push eax
push dword [esi + 4]
lea ecx, [ebp - 0x4f0]
push dword [esi]
call fcn.1001a3cc
push ebx
lea ecx, [ebp - 0x6e4]
mov dword [ebp - 4], 0x1f
call fcn.1001a36d
mov byte [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x50], eax
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ebx
jge 0x100376eb
push dword [ebp - 0x20]
lea ecx, [ebp - 0x6e4]
call fcn.1001a3f7
and dword [eax], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ebx
jl 0x100376d0
xor eax, eax
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x10037703
push eax
push 0x11d5
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
xor eax, eax
push eax
lea ecx, [ebp - 0x4f0]
call fcn.1001a3f7
push 3
lea ecx, [ebp - 0x4f0]
call fcn.1001a3f7
push ebx
lea ecx, [ebp - 0x4f0]
mov esi, eax
call fcn.1001a3f7
xor ebx, ebx
push edi
mov ecx, dword [eax]
cmp ecx, dword [esi]
lea ecx, [ebp - 0x6e4]
setge bl
call fcn.1001a3f7
mov dword [eax], ebx
test ebx, ebx
jne 0x1003775d
inc ebx
lea ecx, [ebp - 0x6e4]
push ebx
call fcn.1001a3f7
cmp dword [eax], 0
jne 0x10037760
xor eax, eax
mov esi, eax
jmp 0x10037764
xor ebx, ebx
inc ebx
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x4f0]
call fcn.1001a3f7
mov eax, dword [eax]
sub eax, esi
sub eax, 0x95a
neg eax
sbb eax, eax
inc eax
cmp eax, 0x5ed9a924
jle 0x1003779c
push ebx
lea ecx, [ebp - 0x6e4]
call fcn.1001a3f7
cmp dword [eax], 0
jne 0x1003779c
xor eax, eax
mov esi, eax
jmp 0x100377a0
mov esi, ebx
xor eax, eax
push eax
lea ecx, [ebp - 0x4f0]
call fcn.1001a3f7
lea ecx, [ebp - 0x4f0]
sub esi, dword [eax]
xor eax, eax
push eax
call fcn.1001a3f7
xor edx, edx
cmp esi, dword [eax]
mov eax, dword [ebp - 0x50]
setle dl
sub edx, eax
mov eax, dword [ebp - 0x50]
sub edx, 0xfffffff9
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x6e4]
call fcn.1001a3f2
or esi, 0xffffffff
lea ecx, [ebp - 0x4f0]
mov dword [ebp - 4], esi
call fcn.1001a3f2
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], 0x256915a
mov dword [ebp - 0x28], 0xc67a9553
mov dword [ebp - 0x3c], 0x98c53483
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10037835
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x328], 0xfffffffa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003781c
xor eax, eax
push 2
pop edi
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], eax
jl 0x10037963
mov dword [ebp - 0x10], 0xbf5cd53b
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], eax
jmp 0x10037951
cmp dword [ebp - 0x10], edi
jle 0x10037856
cmp dword [ebp - 0x328], eax
je 0x10037aa7
mov dword [ebp - 0x50], 0x9d6c
lea ecx, [ebp - 0x1260]
push 4
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x100379b4
mov dword [ebp - 0x50], 0x2071694a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
neg ecx
sbb ecx, ecx
add ecx, 0x49bc1db
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x50], 0x96673e7e
lea ecx, [ebp - 0xa9c]
push edi
call fcn.1001a36d
xor eax, eax
mov dword [ebp - 4], 0x23
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], edi
jge 0x10037b10