Function at 0x100380ec
Capabilities:
Check os version
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10081d86
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x318
push ebx
xor eax, eax
mov dword [esp + 0x30], 0xd41
push esi
inc eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x144]
push edi
mov dword [esp + 0x38], 0xf5af8b51
mov dword [esp + 0x3c], 0x9dbea522
mov dword [esp + 0x20], eax
push 3
mov dword [esp + 0xc8], edx
call fcn.1000e8cf
xor ebx, ebx
lea eax, [esp + 0x2ec]
mov dword [esp + 0x32c], ebx
lea ecx, [esp + 0xe8]
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x1000a9e0]
push eax
lea eax, [esp + 0x2e4]
mov dword [esp + 0xf0], ebx
push eax
push ebx
movdqu xmmword [esp + 0x2ec], xmm0
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
call fcn.1000ee7b
mov dword [esp + 0x2c], 0xb7a14055
mov dword [esp + 0x10], ebx
jmp 0x100381bd
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x148]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100381aa
mov dword [esp + 0x10], ebx
jmp 0x100381d9
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xa0], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x100381ca
mov edi, dword [sym.imp.USER32.dll_CopyRect]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x100381f4
push ebx
push ebx
call edi
dec dword [esp + 0xa4]
mov esi, 0x11accbad
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
neg eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub esi, eax
mov eax, dword [esp + 0x3c]
cmp ecx, eax
mov eax, dword [esp + 0x148]
setg dl
xor ecx, ecx
sub esi, edx
mov edx, dword [esp + 0x20]
add edx, dword [esp + 0x20]
imul edx, esi
mov dword [eax + 8], esi
mov eax, dword [esp + 0x40]
cmp edx, eax
setle cl
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0xe8]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x148]
call fcn.1000eb24
mov dword [esp + 0x38], 0x44696a48
lea ecx, [esp + 0x28c]
xor esi, esi
mov dword [esp + 0x40], 0x94543beb
inc esi
mov dword [esp + 0x24], 4
mov dword [esp + 0x38], 0xfffffffa
push esi
call fcn.1000e8cf
mov dword [esp + 0x32c], esi
lea eax, [esp + 0x2cc]
push dword [esp + 0x48]
movdqa xmm0, xmmword [0x1000a9f0]
lea ecx, [esp + 0x128]
push eax
lea eax, [esp + 0x2c4]
mov dword [esp + 0x12c], ebx
push eax
push ebx
movdqu xmmword [esp + 0x2cc], xmm0
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
call fcn.1000ee7b
mov dword [esp + 0x38], 0xe1c2e937
mov dword [esp + 0x38], 0xfffffff8
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jmp 0x10038319
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x308], 0x67a8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10038306
mov dword [esp + 0x10], ebx
jmp 0x1003833c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28c]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10038326
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x124]
sub eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
dec dword [esp + 0x20]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x28c]
call fcn.1000eb24
push 2
pop esi
mov dword [esp + 0x38], 0xd41
lea ecx, [esp + 0x25c]
mov dword [esp + 0x38], 0x27cb3f4f
push esi
call fcn.1000e8cf
push esi
lea ecx, [esp + 0x24c]
mov dword [esp + 0x330], esi
call fcn.1000e8cf
mov byte [esp + 0x32c], 3
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x38], 0xeb2391cb
mov dword [esp + 0x1c], 0x23dd972c
push 3
call fcn.1000e8cf
mov dword [esp + 0x10], ebx
jmp 0x100383e8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x25c]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100383d2
mov dword [esp + 0x10], ebx
jmp 0x1003840a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x248]
mov dword [eax + ecx*4], 0xe7d214c4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100383f4
push 3
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1003842f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1cc]
mov dword [eax + ecx*4], 0xfa5d8720
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10038419
dec dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0x1b
jle 0x1003848b
xor ecx, ecx
inc ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x38], 0xd8d955a6
mov dword [esp + 0x18], ebx
jmp 0x10038471
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x64], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x10038461
mov eax, dword [esp + 0x1cc]
dec dword [eax]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1b
jg 0x10038447
lea ecx, [esp + 0x1cc]
call fcn.1000eb24
lea ecx, [esp + 0x248]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x25c]
call fcn.1000eb24
xor ecx, ecx
inc ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], 4
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], 0x6b59229a
mov dword [esp + 0x18], ebx
jmp 0x100384f3
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x254], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x100384e0
mov eax, dword [esp + 0x40]
mov edx, ecx
mov eax, dword [esp + 0x20]
inc dword [esp + 0x20]
cmp eax, 0xec541651
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmovb edx, ebx
mov eax, dword [esp + 0x2c]
xor ecx, ecx
sub eax, esi
cmp eax, 0xfffffff9
setg cl
xor eax, eax
mov dword [esp + 0x258], ecx
imul ecx, edx
sub ecx, 0x1bb05c1
cmp ecx, 6
setl al
add eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038559
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
mov dword [esp + 0x38], 0xf5af8b51
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x10], ebx
xor eax, eax
mov dword [esp + 0x18], 0x4401d1b9
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], 0x19716e28
mov dword [esp + 0x1c], 0xfffffffc
push esi
call fcn.1000e8cf
mov dword [esp + 0x18], ebx
jmp 0x100385ad
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c0]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10038597
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
sub eax, 0x9229
neg eax
sbb eax, eax
inc eax
cmp eax, 0x44262821
je 0x100385d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0xd76c
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x10]
sub eax, dword [esp + 0x10]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, eax, 0xfffffffb
cmp eax, 0xffffffff
setl cl
xor edx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setl dl
xor ecx, ecx
cmp edx, dword [esp + 0x40]
setge cl
xor eax, eax
cmp ecx, 0x6337
setg al
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], ebx
jg 0x10038636
cmp dword [esp + 0x24], ebx
je 0x10038636
xor edx, edx
inc edx
mov ecx, edx
jmp 0x1003863b
xor edx, edx
mov ecx, ebx
inc edx
xor eax, eax
cmp ecx, esi
setl al
cmp eax, 0xa81d68c2
sbb eax, eax
neg eax
cmp dword [esp + 0x10], eax
jle 0x10038659
mov eax, ebx
cmp dword [esp + 0x10], ebx
je 0x1003865b
mov eax, edx
mov ecx, dword [esp + 0x1c]
add ecx, eax
xor eax, eax
neg ecx
cmp ecx, 0x3222c7e1
setle al
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0xa
jne 0x10038738
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x2c], 0xfffd
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], ebx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 2
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], 0xfffffff8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0xca51c18c
mov eax, dword [esp + 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x20]
neg eax
sbb eax, eax
inc eax
mov dword [esi + 4], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xa
je 0x10038688
lea ecx, [esp + 0x1c0]
call fcn.1000eb24
mov dword [esp + 0x24], 0x9dbea522
mov dword [esp + 0x38], 0xfffc
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038766
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1003877f
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
xor esi, esi
lea ecx, [esp + 0x160]
inc esi
mov dword [esp + 0x3c], esi
push 3
call fcn.1000e8cf
mov dword [esp + 0x2c], 0x1e12aa53
mov dword [esp + 0x1c], 0x2632c5b6
mov dword [esp + 0x10], ebx
mov dword [esp + 0x40], 0x67bb1a88
mov dword [esp + 0x18], 8
mov dword [esp + 0x18], ebx
jmp 0x100387d4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], 0x7a4a
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100387be
mov edx, dword [esp + 0x160]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x10038813
mov ecx, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xc36fe5ab
setne al
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 4]
test ecx, ecx
jne 0x10038813
mov esi, ebx
xor eax, eax
cmp esi, ecx
push 2
setg al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
neg ecx
pop esi
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [edx + 4], ecx
setle al
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ebx
jmp 0x1003887d
mov dword [esp + 0x1c], ebx
jmp 0x1003886b
mov dword [esp + 0x18], ebx
jmp 0x10038861
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x40], 0x62b50098
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x1003884d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x10038847
mov dword [esp + 0x1c], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x10038841
lea ecx, [esp + 0x160]
call fcn.1000eb24
push 3
lea ecx, [esp + 0x200]
call fcn.1000e8cf
mov dword [esp + 0x32c], 4
xor ecx, ecx
mov dword [esp + 0x1c], 0xebaeef20
inc ecx
mov dword [esp + 0x2c], 0x94bb489f
mov dword [esp + 0x30], 0xfffd
mov dword [esp + 0x34], 0xa7bc6c89
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ebx
jmp 0x100388e8
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x1e4], 5
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x100388d5
mov dword [esp + 0x1c], esi
mov esi, dword [sym.imp.USER32.dll_CreateDialogIndirectParamA]
cmp dword [esp + 0x1c], ebx
jl 0x10038975
mov dword [esp + 0x20], 0xe1e2c0d3
push 2
mov dword [esp + 0x44], 0xffffffff
pop eax
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], ebx
jl 0x10038959
mov dword [esp + 0x18], 0x4f147909
mov dword [esp + 0x18], ebx
jmp 0x10038949
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038945
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call esi
push 2
pop eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], eax
jle 0x1003892a
mov dword [esp + 0x40], eax
dec dword [esp + 0x20]
jns 0x1003891c
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x1e4], ebx
jne 0x1003896c
dec dword [esp + 0x1c]
jns 0x100388ff
xor ecx, ecx
inc ecx
cmp dword [esp + 0x1c], ebx
je 0x10038979
mov eax, ecx
jmp 0x1003897b
mov eax, ebx
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1e8]
neg edx
movdqa xmm0, xmmword [0x1000a9e0]
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1e8]
setle cl
sub edx, ecx
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x30]
cmp edx, eax
mov eax, dword [esp + 0x34]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x10]
push dword [esp + 0x64]
setge cl
mov dword [esp + 0x104], ebx
mov dword [esp + 0x38], ecx
xor ecx, ecx
cmp dword [esp + 0x38], eax
lea eax, [esp + 0x2e0]
push eax
setg cl
mov dword [esp + 0x10c], ebx
lea eax, [esp + 0x2d4]
mov dword [esp + 0x18], ecx
push eax
push ebx
lea ecx, [esp + 0x110]
mov dword [esp + 0x118], ebx
movdqu xmmword [esp + 0x2dc], xmm0
call fcn.1000ee7b
push 7
mov byte [esp + 0x330], 5
xor edx, edx
pop ecx
mov dword [esp + 0x10], ecx
inc edx
mov dword [esp + 0x18], ebx
jmp 0x10038a51
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xcc], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10038a3e
mov dword [esp + 0x10], ebx
jmp 0x10038a6c
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xcc], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10038a5d
push 2
mov dword [esp + 0x14], ebx
pop ecx
cmp dword [esp + 0x10], 4
jge 0x10038ab9
mov dword [esp + 0x18], ebx
jmp 0x10038a96
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x54], 8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x10038a86
mov dword [esp + 0x58], ebx
jmp 0x10038aac
cmp dword [esp + 0x58], ebx
jne 0x10038ab3
dec dword [esp + 0x58]
cmp dword [esp + 0x58], 0xffffffef
je 0x10038aa2
inc dword [esp + 0x10]
jmp 0x10038a79
mov dword [esp + 0x30], 0xb7a14055
mov dword [esp + 0x1c], 0xebaeef20
mov dword [esp + 0x2c], 0x94bb489f
mov dword [esp + 0x40], 0xfffd
mov dword [esp + 0x30], 0xa7bc6c89
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
jmp 0x10038afe
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x178], 5
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10038aeb
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], ebx
jl 0x10038b7f
mov dword [esp + 0x20], 0xe1e2c0d3
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x20], ebx
jl 0x10038b66
mov dword [esp + 0x18], 0x4f147909
mov dword [esp + 0x18], ebx
jmp 0x10038b56
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038b52
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call esi
push 2
pop ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jle 0x10038b37
mov dword [esp + 0x34], ecx
dec dword [esp + 0x20]
jns 0x10038b29
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x178], ebx
jne 0x10038b79
dec dword [esp + 0x1c]
jns 0x10038b0f
cmp dword [esp + 0x1c], ebx
je 0x10038b86
xor esi, esi
inc esi
mov eax, esi
jmp 0x10038b8b
xor esi, esi
mov eax, ebx
inc esi
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x17c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x17c]
setle cl
sub edx, ecx
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x40]
cmp edx, eax
mov eax, dword [esp + 0x30]
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x10]
setge cl
mov dword [esp + 0x34], ecx
xor ecx, ecx
cmp dword [esp + 0x34], eax
setg cl
mov dword [esp + 0x10], ecx
mov dword [esp + 0x10], ebx
jmp 0x10038c08
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1fc]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x10038bf5
mov dword [esp + 0x10], 0x4d8e5ccc
mov dword [esp + 0x18], ebx
jmp 0x10038c2d
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], 0xa7b09f59
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10038c1d
mov ecx, dword [esp + 0x10]
mov eax, 0x5dce
sub eax, ecx
je 0x10038cca
mov dword [esp + 0x20], 0xfffffffb
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], esi
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038c70
push 0xe0b
push ebx
push 0x653
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x10]
sub eax, dword [esp + 0x20]
je 0x10038c97
cmp dword [esp + 0x20], 0xff44cacf
mov edx, esi
sbb eax, eax
neg eax
cmp eax, dword [esp + 0x20]
jle 0x10038c99
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, 0xfffffffe
je 0x10038cb1
mov ecx, ebx
cmp dword [esp + 0x10], ebx
je 0x10038cb3
mov ecx, esi
mov eax, dword [esp + 0x10]
sub ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
jmp 0x10038d88
mov dword [esp + 0x10], ebx
jmp 0x10038d7e
mov dword [esp + 0x20], 0xed857289
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x50]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x50], ecx
test ecx, ecx
je 0x10038d15
mov dword [esp + 0x18], 0x73046773
mov dword [esp + 0x18], ebx
jmp 0x10038d0d
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], 0x6e86ff18
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10038cfd
jmp 0x10038d3f
mov dword [esp + 0x20], 0x5051acae
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10038d3f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038d39
push ebx
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
dec dword [esp + 0x20]
jns 0x10038d27
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x10038d7a
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038d5b
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038d74
push ebx
push 0xbe3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
dec dword [esp + 0x20]
jns 0x10038d49
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x10038cd3
push 2
mov dword [esp + 0x14], ebx
pop esi
jmp 0x10038d9d
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10038d91
mov dword [esp + 0x1c], 0x39beb064
mov eax, 0xe90a624c
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x1c]
jge 0x10038def
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038e2a
push 0x2fc
push ebx
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
jmp 0x10038e2a
mov dword [esp + 0x34], 0x44555950
mov dword [esp + 0x1c], ebx
jmp 0x10038e07
cmp dword [esp + 0x34], ebx
jne 0x10038e0e
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jle 0x10038dfd
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10038e2a
push 0x9a2
push 0x162c
push ebx
call dword [sym.imp.GDI32.dll_PtInRegion]
mov dword [esp + 0x10], 8
lea ecx, [esp + 0x118]
mov dword [esp + 0x20], 9
mov dword [esp + 0x30], 0xffffffff
push esi
call fcn.1000e8cf
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], ebx
jmp 0x10038e6e
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x118]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10038e5c
mov dword [esp + 0x10], 4
jmp 0x10038f0a
mov dword [esp + 0x1c], 0x39ecf4a
mov dword [esp + 0x34], 0x2f144811
mov dword [esp + 0x2c], 0xe4f9dbc9
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
sub ecx, eax
je 0x10038ea9
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xb39e2240
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
sub ecx, eax
add ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x118]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], 0x74bf90ed
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
add ecx, 0xbefa
mov dword [esp + 0x34], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffea
je 0x10038e81
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x118]
mov dword [eax + 4], ecx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x118]
call fcn.1000eb24
mov byte [esp + 0x17], bl
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x18], 0x6c05baf4
mov dword [esp + 0x38], 0x53d8da8e
push 3
call fcn.1000e8cf
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
jmp 0x10038f75
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1d8]
mov dword [eax + ecx*4], 0xdd03248c
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10038f5f
dec dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], esi
jg 0x10038fb6
xor edx, edx
inc edx
mov dword [esp + 0x18], ebx
jmp 0x10038fa5
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1d8]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10038f93
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x10038f8d
lea ecx, [esp + 0x1d8]
call fcn.1000eb24
cmp byte [esp + 0x17], 0
je 0x1003911b
mov dword [esp + 0x10], 0xfe1ca29
xor edx, edx
mov dword [esp + 0x20], 7
inc edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x1c], 0xffff
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], ebx
jmp 0x1003901d
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xc8], 0x9e46ed4d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1003900a
cmp dword [esp + 0x10], ebx
jne 0x1003909f
cmp dword [esp + 0x10], 0xfffffff8
jge 0x1003904c
mov eax, dword [esp + 0x10]
sub eax, 0x68cb
neg eax
sbb eax, eax
inc eax
cmp eax, dword [esp + 0x10]
jg 0x1003904c
mov eax, ebx
cmp dword [esp + 0x10], ebx
je 0x1003904e
mov eax, edx
cmp edx, eax
mov eax, dword [esp + 0x10]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setge dl
sub edx, dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jle 0x10039076
cmp dword [esp + 0x10], ebx
je 0x10039076
xor edx, edx
inc edx
mov eax, edx
jmp 0x1003907b
xor edx, edx
mov eax, ebx
inc edx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], ebx
je 0x10039089
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x68], ebx
je 0x10039093
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
inc eax
imul eax, dword [esp + 0x74]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x10], 0xfffffffe
jg 0x100390cc
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp eax, 0xfffffffc
setle cl
cmp ecx, dword [esp + 0x1c]
je 0x100390e6
mov eax, ebx
cmp dword [esp + 0x1c], ebx
je 0x100390e8
mov eax, edx
xor ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
push ebx
setge dl
xor ecx, ecx
add edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp edx, eax
mov eax, dword [esp + 0x6c]
setge cl
xor edx, edx
cmp ecx, eax
push ebx
setle dl
mov dword [esp + 0xd0], edx
mov dword [esp + 0x3c], edx
call edi
mov dword [esp + 0x228], esi
lea ecx, [esp + 0x190]
mov dword [esp + 0x22c], esi
mov dword [esp + 0x230], esi
mov dword [esp + 0x234], esi
mov dword [esp + 0x30], 0xf37c04cc
push 3
call fcn.1000e8cf
push 3
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], ebx
pop edx
jmp 0x10039171
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x94], 0x5de05dae
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1003915e
mov dword [esp + 0x10], ebx
jmp 0x10039193
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x190]
mov dword [eax + ecx*4], 0xa85f88e1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1003917d
mov eax, dword [esp + 0x228]
xor ecx, ecx
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, 0x99fb
setne cl
mov dword [esp + 0x98], ecx
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x30], 0x3e8e
jl 0x100391e8
xor eax, eax
inc eax
mov dword [esp + 0x98], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x10039242
push ebx
push 0x220f
push ebx
push ebx
push ebx
push ebx
call edi
jmp 0x10039242
mov dword [esp + 0x20], ebx
xor edx, edx
mov dword [esp + 0x30], 0x348f4a8f
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x30]
cmp eax, ecx
mov eax, dword [esp + 0x20]
setl dl
imul eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x190]
mov dword [esp + 0x9c], ecx
mov dword [eax + 4], ecx
inc dword [esp + 0x2c]
lea ecx, [esp + 0x190]
call fcn.1000eb24
dec dword [esp + 0x80]
mov esi, 0x11accbad
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
neg eax
neg eax
sbb eax, eax
xor edx, edx
neg eax
sub esi, eax
mov eax, dword [esp + 0x24]
cmp ecx, eax
mov eax, dword [esp + 0x1fc]
setg dl
xor ecx, ecx
sub esi, edx
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0x3c]
imul edx, esi
mov dword [eax + 8], esi
mov eax, dword [esp + 0x28]
cmp edx, eax
setle cl
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x100]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x1fc]
call fcn.1000eb24
push 2
pop esi
push esi
lea ecx, [esp + 0x1ac]
call fcn.1000e8cf
mov dword [esp + 0x18], ebx
jmp 0x100392f8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1a8]
mov dword [eax + ecx*4], 0x1824a8c6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x100392e2
mov eax, dword [esp + 0x1a8]
xor ecx, ecx
inc ecx
mov dword [eax], ebx
mov dword [eax + 4], ecx
lea ecx, [esp + 0x1a8]
call fcn.1000eb24
mov dword [esp + 0x38], 0xd41
lea ecx, [esp + 0x274]
xor eax, eax
mov dword [esp + 0x38], 0x44696a48
inc eax
mov dword [esp + 0x28], 0x94543beb
mov dword [esp + 0x34], 4
mov dword [esp + 0x38], 0xfffffffa
push eax
call fcn.1000e8cf
mov dword [esp + 0x32c], 6
lea eax, [esp + 0x2fc]
push dword [esp + 0x64]
movdqa xmm0, xmmword [0x1000a9f0]
lea ecx, [esp + 0xe0]
push eax
lea eax, [esp + 0x2f4]
mov dword [esp + 0xe4], ebx
push eax
push ebx
movdqu xmmword [esp + 0x2fc], xmm0
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
call fcn.1000ee7b
mov dword [esp + 0x38], 0xe1c2e937
mov dword [esp + 0x38], 0xfffffff8
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], ebx
jmp 0x100393d0
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x2fc], 0x67a8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x100393bd
xor edx, edx
mov dword [esp + 0x10], ebx
inc edx
jmp 0x100393f6
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x274]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x100393e0
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xdc]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
dec dword [esp + 0x3c]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x274]
call fcn.1000eb24
xor eax, eax
lea ecx, [esp + 0x2a0]
inc eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], 0xf5af8b51
mov dword [esp + 0x28], 0x27cb3f4f
push esi
call fcn.1000e8cf
push esi
lea ecx, [esp + 0x284]
mov dword [esp + 0x330], 7
call fcn.1000e8cf
mov byte [esp + 0x32c], 8
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x28], 0xeb2391cb
mov dword [esp + 0x1c], 0x23dd972c
push 3
call fcn.1000e8cf
mov dword [esp + 0x10], ebx
jmp 0x100394aa
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2a0]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x10039494
mov dword [esp + 0x10], ebx
jmp 0x100394cc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x280]
mov dword [eax + ecx*4], 0xe7d214c4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x100394b6
push 3
mov dword [esp + 0x14], ebx
pop edx
jmp 0x100394f1
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1f0]
mov dword [eax + ecx*4], 0xfa5d8720
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x100394db
dec dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x1c], 0x1b
jle 0x1003954d
xor ecx, ecx
inc ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x28], 0xd8d955a6
mov dword [esp + 0x18], ebx
jmp 0x10039533
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x78], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ecx
jl 0x10039523
mov eax, dword [esp + 0x1f0]
dec dword [eax]
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x1b
jg 0x10039509
lea ecx, [esp + 0x1f0]
call fcn.1000eb24
lea ecx, [esp + 0x280]
call fcn.1000eb24
or dword [esp + 0x32c], 0xffffffff
lea ecx, [esp + 0x2a0]
call fcn.1000eb24
push 4
lea ecx, [esp + 0xf8]
call fcn.1000e8cf
mov dword [esp + 0x10], ebx
jmp 0x100395a0
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x314], 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1003958d
mov dword [esp + 0x10], ebx
jmp 0x100395c3