Function at 0x1001c268
Capabilities:
Enumerate gui resources
Identify system language via api
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1008f816
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x280
mov dword [esp + 0x38], 0x37ad
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 0xe923e64f
push ebx
xor ebx, ebx
mov dword [esp + 0xc8], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x40], 0xa96950a4
mov dword [esp + 0x20], 0x495231fb
mov dword [esp + 0x24], 0xab1d6a56
push esi
mov dword [esp + 0x20], ebx
push edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x10], ebx
jmp 0x1001c2f2
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1a8], 0xd8f6efba
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001c2df
mov dword [esp + 0x10], ebx
jmp 0x1001c312
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x248], 0xd6c34f1d
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001c2ff
mov eax, dword [esp + 0x44]
xor edi, edi
mov dword [esp + 0x34], eax
inc edi
mov eax, dword [esp + 0x34]
mov esi, edi
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
inc dword [esp + 0x2c]
cmp eax, ecx
cmovg esi, ebx
cmp dword [esp + 0x48], ebx
jne 0x1001c349
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x1b0]
xor edx, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x250]
mov eax, dword [esp + 0x24]
cmp ecx, eax
mov ecx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b0]
setne dl
mov dword [esp + 0x24], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x40]
push 3
setl dl
xor ecx, ecx
add edx, esi
mov esi, dword [esp + 0x28]
sub esi, eax
cmp esi, 0x50169ff9
setle cl
xor eax, eax
cmp edx, ecx
lea ecx, [esp + 0x14c]
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
inc eax
mov dword [esp + 0x4c], eax
call fcn.10010401
mov dword [esp + 0x10], 0x25d16df2
mov dword [esp + 0x1c], ebx
jmp 0x1001c3e3
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x148]
mov dword [eax + ecx*4], 0x4a8c
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x1001c3cd
mov dword [esp + 0x10], ebx
jmp 0x1001c40f
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
cmp dword [esp + 0x10], ebx
jne 0x1001c416
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x1001c3f0
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [esp + 0x10], ebx
jmp 0x1001c46d
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1001c469
push 0xfe1
push 0x2ec
push 0xfc2
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
push 0xe33
push 0x15ef
push 0x825
push 0xe7d
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe2
jl 0x1001c422
lea ecx, [esp + 0x148]
call fcn.10010636
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x44], 0x860a421e
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0xa218f0ed
mov dword [esp + 0x10], 0xfffffff9
jmp 0x1001c553
mov dword [esp + 0x20], 0xfffffff6
xor edx, edx
mov dword [esp + 0x34], 0x27359b50
mov dword [esp + 0x34], 0xf8651162
mov dword [esp + 0x34], 0x20859495
mov eax, dword [esp + 0x20]
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], 0x5da2
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 5
setle al
xor ecx, ecx
cmp ecx, eax
sbb edx, edx
neg edx
sub edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x20]
setne cl
xor edx, edx
imul ecx, ecx, 0xffff
cmp ecx, eax
setge dl
cmp dword [esp + 0x10], edx
jle 0x1001c549
mov eax, edi
cmp dword [esp + 0x20], ebx
jne 0x1001c54b
mov eax, ebx
mov dword [esp + 0x24], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0x17
jle 0x1001c4a9
push dword [esp + 0x58]
mov dword [esp + 0x50], 0x37ad
lea eax, [esp + 0x224]
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x11c]
mov dword [esp + 0x3c], 0xe923e64f
xorps xmm0, xmm0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x1c], 0x2e91a049
mov dword [esp + 0x2c], 0x55cc25b
mov dword [esp + 0x2c], 0x1b68dee2
push eax
mov dword [esp + 0x30], 0xfda7ef5d
lea eax, [esp + 0x218]
mov dword [esp + 0x30], 0xffffffff
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x34], 0xf6b3e713
mov dword [esp + 0x34], 0xe71b35d5
push ebx
movdqu xmmword [esp + 0x220], xmm0
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
call fcn.100109bb
mov dword [esp + 0x294], ebx
mov dword [esp + 0x28], 0xfffffffa
mov dword [esp + 0x18], ebx
jmp 0x1001c674
mov dword [esp + 0x24], 0x39ed080c
lea ecx, [esp + 0x204]
push 4
call fcn.10010401
mov dword [esp + 0x1c], ebx
jmp 0x1001c647
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x204]
mov dword [eax + ecx*4], 0x3b3f3656
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1001c631
mov eax, dword [esp + 0x24]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001c664
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
lea ecx, [esp + 0x204]
call fcn.10010636
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x18
jne 0x1001c615
or dword [esp + 0x294], 0xffffffff
lea ecx, [esp + 0x118]
call fcn.10010636
mov dword [esp + 0x24], 0xa96950a4
mov dword [esp + 0x28], 0x495231fb
mov dword [esp + 0x10], 0x1177e8ed
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], 0x7507af9c
mov dword [esp + 0x1c], ebx
jmp 0x1001c6c8
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x9c], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1001c6b9
cmp dword [esp + 0x10], ebx
je 0x1001c836
mov dword [esp + 0x18], 0xa31e468a
mov dword [esp + 0x10], ebx
jmp 0x1001c7d2
mov dword [esp + 0x1c], 0x7ad4351c
mov dword [esp + 0x50], 6
mov dword [esp + 0x1c], 3
cmp dword [esp + 0x1c], ebx
jl 0x1001c7c1
push edi
lea ecx, [esp + 0x188]
call fcn.10010401
mov dword [esp + 0x18], ebx
jmp 0x1001c732
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x184]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1001c71f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001c74b
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x9c]
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x9c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x184]
imul ecx, dword [eax]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x184]
call fcn.10010636
dec dword [esp + 0x1c]
jns 0x1001c70c
mov eax, dword [esp + 0x10]
cmp dword [esp + eax*4 + 0x9c], ebx
jne 0x1001c7dd
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x1001c6ea
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
sub eax, 5
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
imul ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov eax, dword [esp + 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, 0x2b00
mov dword [esp + 0x10], ecx
jmp 0x1001c858
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001c858
push 0x1567
push ebx
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PolyPolyline]
mov dword [esp + 0x34], 0xab1d6a56
lea ecx, [esp + 0xdc]
mov dword [esp + 0x18], 0x3ad3b315
mov dword [esp + 0x20], 0x21cd4309
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x40], 0xfffffff7
push edi
call fcn.10010401
mov dword [esp + 0x294], edi
mov dword [esp + 0x1c], ebx
jmp 0x1001c8ac
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1001c89a
cmp dword [esp + 0x18], ebx
jne 0x1001c93d
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
test edx, edx
setg cl
xor edx, edx
sub ecx, 0x9c27
cmp ecx, eax
mov eax, dword [esp + 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setge dl
xor ecx, ecx
test eax, eax
mov dword [esp + 0x38], edx
sets cl
xor edx, edx
cmp dword [esp + 0x38], ecx
setl dl
xor ecx, ecx
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp edx, eax
mov eax, ebx
setl cl
imul ecx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x18]
jge 0x1001c93f
mov eax, edi
add eax, 0xffff
cmp eax, 0x5a8df044
jle 0x1001c94f
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x2c], ebx
je 0x1001cad7
mov dword [esp + 0x28], 0xfffffffb
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x20], 0xd743ccc
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 3
mov dword [esp + 0x28], 0x7a68fab8
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0x1c], 0xef874acc
push edi
call fcn.10010401
mov byte [esp + 0x294], 2
mov dword [esp + 0x44], 0x72cb566e
mov dword [esp + 0x38], 0xa963965b
mov dword [esp + 0x1c], ebx
jmp 0x1001c9ce
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1bc]
mov dword [eax + ecx*4], 0xda550e8f
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x1001c9b8
dec dword [esp + 0x44]
mov dword [esp + 0x1c], 0xfffffff1
jmp 0x1001cabe
push 2
lea ecx, [esp + 0x170]
call fcn.10010401
mov dword [esp + 0x18], ebx
jmp 0x1001ca0b
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x16c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x1001c9f9
cmp dword [esp + 0x40], ebx
jne 0x1001ca61
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x16c]
sub ecx, dword [eax]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xfffffff8
setne al
xor ecx, ecx
cmp eax, 0xcedb
mov eax, 0x9d7fccea
setne cl
sub ecx, dword [edx + 4]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
mov ecx, ebx
sbb eax, eax
neg eax
sub eax, dword [edx]
cmp eax, 0xe2efaada
ja 0x1001ca63
mov ecx, edi
mov eax, dword [esp + 0x1c]
sub ecx, eax
mov eax, dword [esp + 0xdc]
mov dword [eax], ecx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], ebx
jl 0x1001caae
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001caa8
push 0x875
push ebx
push 0x465
push 0x1e15
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharacterPlacementW]
dec dword [esp + 0x20]
jns 0x1001ca7c
lea ecx, [esp + 0x16c]
call fcn.10010636
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffffc
jne 0x1001c9e5
lea ecx, [esp + 0x1bc]
call fcn.10010636
jmp 0x1001cafc
mov dword [esp + 0x44], 0xd55faf23
inc dword [esp + 0x44]
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001cafc
push edi
push 0x1575
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SignalObjectAndWait]
or esi, 0xffffffff
lea ecx, [esp + 0xdc]
mov dword [esp + 0x294], esi
call fcn.10010636
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0x3ea3a722
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001cb43
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 4
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
cmp ecx, 0x3c69
jg 0x1001cba3
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x10]
test eax, eax
je 0x1001cca2
mov dword [esp + 0x2c], 0xc0429090
xor ecx, ecx
mov dword [esp + 0x18], 0x6723ff49
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 0xf08a
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp eax, edi
push 0
setge cl
sub ecx, 0x9babe4a9
add ecx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [esp + 0x30]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
sub ecx, 2
cmp ecx, eax
setg dl
xor ecx, ecx
imul edx, dword [esp + 0x44]
imul edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x44]
cmp edx, eax
mov eax, dword [esp + 0x44]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
xor edx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov ecx, 0xffff
setne dl
xor eax, eax
cmp edx, 0xc073
setge al
cmp ecx, eax
sbb eax, eax
neg eax
pop eax
setns al
cmp eax, 0x44c677cc
jl 0x1001cc9a
mov eax, ebx
cmp dword [esp + 0x2c], ebx
je 0x1001cc9c
mov eax, edi
mov dword [esp + 0x1c], eax
jmp 0x1001ccb6
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001ccb6
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
mov dword [esp + 0x1c], 0x962e
lea ecx, [esp + 0x13c]
mov dword [esp + 0x20], 0xfffffff7
mov dword [esp + 0x38], 0x79a20b28
push 2
call fcn.10010401
push 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001ccfb
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x13c]
mov dword [eax + ecx*4], 0xfd03b15a
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001cce5
mov dword [esp + 0x10], ebx
jmp 0x1001cd1a
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x1f8], 0x17a68fab
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001cd07
mov eax, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
cmp ecx, eax
mov eax, dword [esp + 0x1c]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x20]
setne cl
sub eax, ecx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add edx, 0x72e7
mov eax, dword [esp + 0x20]
neg edx
mov eax, dword [esp + 0x1c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x13c]
sete cl
add ecx, 0xd204
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub eax, 0x3f667bcd
jne 0x1001cd95
mov eax, dword [esp + 0x13c]
cmp dword [eax], ebx
mov eax, ebx
je 0x1001cd97
mov eax, edi
mov dword [esp + 0x1f8], eax
lea ecx, [esp + 0x13c]
call fcn.10010636
mov dword [esp + 0x18], ebx
jmp 0x1001cdc3
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x19c], 0xd8f6efba
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1001cdb0
mov dword [esp + 0x10], 0x7b18
lea ecx, [esp + 0x100]
mov dword [esp + 0x40], 4
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], 6
mov dword [esp + 0x38], 0x1bd53d2a
push edi
call fcn.10010401
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], 0x4fe605a4
mov dword [esp + 0x18], 0xc72fddd0
mov dword [esp + 0x3c], 0x2e525b78
mov dword [esp + 0x48], edi
mov dword [esp + 0x3c], 0xfffffffe
mov dword [esp + 0x18], ebx
jmp 0x1001ce3f
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x100]
mov dword [eax + ecx*4], 0xc4438182
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1001ce29
mov dword [esp + 0x18], ebx
jmp 0x1001ce5b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x70], 0xe6d99275
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1001ce4b
mov eax, dword [esp + 0x10]
mov ecx, 0xd34caa8e
cmp ecx, eax
sbb eax, eax
neg eax
imul eax, dword [esp + 0x10]
imul eax, dword [esp + 0x10]
imul eax, dword [esp + 0x10]
neg eax
cmp edi, eax
sbb edx, edx
xor ecx, ecx
inc edx
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp edx, eax
setle cl
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov eax, dword [esp + 0x40]
test eax, eax
setg cl
cmp ecx, dword [esp + 0x10]
jge 0x1001ceae
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x1c]
je 0x1001cec0
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x40], ebx
je 0x1001cece
mov ecx, edi
cmp dword [esp + 0x2c], ebx
jne 0x1001ced0
mov ecx, ebx
xor eax, eax
cmp ecx, 0xe2d3
setle al
xor ecx, ecx
cmp eax, 8
setle cl
xor eax, eax
cmp ecx, 0x3cea2ff3
mov ecx, dword [esp + 0x10]
setle al
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0x1c]
imul ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x10], ebx
jmp 0x1001d0fc
mov dword [esp + 0x3c], 0xfffffffd
mov eax, 0xffff
mov dword [esp + 0x48], 0x94191b8
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x18], ebx
jmp 0x1001cf4b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x68], 0x3a861d8d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1001cf3b
mov dword [esp + 0x18], ebx
jmp 0x1001cf6a
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x230], 0xc3bc
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1001cf57
mov ecx, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x100]
cmp dword [eax + ecx*4], 0x830a
mov eax, dword [esp + 0x40]
setne dl
dec dword [esp + 0x40]
cmp edx, eax
jg 0x1001cf98
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x238]
mov eax, dword [esp + 0x23c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov dword [esp + 0x1c], ebx
jmp 0x1001d0ee
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], 4
mov dword [esp + 0x3c], 0x1c77dd35
mov dword [esp + 0x20], ebx
jmp 0x1001cffa
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x60], ebx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x1001cfee
mov dword [esp + 0x18], ebx
jmp 0x1001d0e0
mov dword [esp + 0x40], 0x695f
xor ecx, ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x68], edx
mov dword [esp + 0x48], 0xfffffffb
mov eax, dword [esp + 0x48]
cmp edx, eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x70]
setge cl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
xor edx, edx
test ecx, ecx
setns dl
xor eax, eax
cmp edx, 0x218
setg al
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], ebx
jmp 0x1001d0d6
mov dword [esp + 0x3c], 0x85fc0193
xor edx, edx
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x44]
imul ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
add eax, 0x7b9f
add ecx, eax
mov eax, dword [esp + 0x40]
cmp eax, ecx
setg dl
sub edx, dword [esp + 0x40]
mov dword [esp + 0x44], edx
cmp dword [esp + 0x44], 0xd02ac2ff
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x60]
cmp eax, 0xdd52
setg cl
mov dword [esp + 0x3c], ecx
inc dword [esp + 0x20]
cmp dword [esp + 0x20], ebx
jle 0x1001d066
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x1001d009
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jle 0x1001cfd4
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1001cf10
lea ecx, [esp + 0x100]
call fcn.10010636
mov dword [esp + 0x18], ebx
jmp 0x1001d12b
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x260], 0xd6c34f1d
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1001d118
mov eax, dword [esp + 0x4c]
mov esi, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
inc dword [esp + 0x34]
cmp eax, ecx
cmovg esi, ebx
cmp dword [esp + 0x24], ebx
jne 0x1001d15f
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x1a4]
xor edx, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x268]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov ecx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a4]
setne dl
mov dword [esp + 0x28], edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x30]
push 2
setl dl
xor ecx, ecx
add edx, esi
mov esi, dword [esp + 0x2c]
sub esi, eax
cmp esi, 0x50169ff9
setle cl
xor eax, eax
cmp edx, ecx
lea ecx, [esp + 0x134]
setge al
cmp eax, 0xb99bf0bb
sbb eax, eax
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x28], 0x5c6f
mov dword [esp + 0x2c], 0xffffffff
pop eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x3c], 0xca1a1f05
mov dword [esp + 0x30], 0x56574b60
mov dword [esp + 0x20], 0x6e8f5917
mov dword [esp + 0x30], 0xa6e483bb
push eax
call fcn.10010401
push 3
pop esi
push 2
lea ecx, [esp + 0x158]
mov dword [esp + 0x298], esi
call fcn.10010401
mov dword [esp + 0x34], 7
mov dword [esp + 0x10], ebx
jmp 0x1001d244
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x80], 0x7cefa9d1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1001d231
push 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001d265
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x130]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001d253
mov dword [esp + 0x10], ebx
mov esi, 0x5d5ec7e0
jmp 0x1001d288
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x154]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001d276
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x88], ebx
je 0x1001d2fd
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x1001d2e8
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x240], 0x489b467b
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001d2d5
mov eax, dword [esp + 0x154]
dec dword [eax + 4]
jmp 0x1001d3ab
mov dword [esp + 0x24], ebx
xor ecx, ecx
mov dword [esp + 0x4c], 0xb0f4f2d8
mov dword [esp + 0x30], 0xfffffff9
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 0x5bdf607d
mov dword [esp + 0x30], 0xde97ee8c
mov eax, dword [esp + 0x28]
test eax, eax
mov eax, dword [esp + 0x130]
setg cl
xor edx, edx
cmp ecx, 0xf44fb66c
setne dl
xor ecx, ecx
add edx, 2
cmp edx, dword [eax]
mov eax, dword [esp + 0x24]
setg cl
add eax, ecx
jne 0x1001d367
mov eax, dword [esp + 0x130]
cmp dword [eax], ebx
je 0x1001d36f
mov edx, edi
cmp dword [esp + 0x24], ebx
jne 0x1001d371
mov edx, ebx
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x34]
setge cl
add eax, dword [esp + 0x3c]
inc dword [esp + 0x34]
cmp eax, ecx
mov eax, edi
cmovge eax, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], ebx
jmp 0x1001d3a4
dec dword [esp + 0x30]
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff6
jle 0x1001d39c
lea ecx, [esp + 0x154]
call fcn.10010636
or dword [esp + 0x294], 0xffffffff
lea ecx, [esp + 0x130]
call fcn.10010636
mov dword [esp + 0x38], 0x37ad
lea ecx, [esp + 0xe8]
mov dword [esp + 0x24], 0x5c6f
push 2
mov dword [esp + 0x2c], 0xffffffff
pop eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x3c], 0xca1a1f05
mov dword [esp + 0x30], 0x56574b60
mov dword [esp + 0x20], 0x6e8f5917
mov dword [esp + 0x30], 0xa6e483bb
push eax
call fcn.10010401
push 2
lea ecx, [esp + 0x164]
mov dword [esp + 0x298], 4
call fcn.10010401
mov dword [esp + 0x34], 7
mov dword [esp + 0x10], ebx
jmp 0x1001d44e
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x74], 0x7cefa9d1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001d43e
push 2
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001d470
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001d45e
mov dword [esp + 0x10], ebx
jmp 0x1001d48e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001d47c
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x74]
mov eax, dword [esp + 0x74]
cmp dword [esp + 0x7c], ebx
je 0x1001d4f4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xfffffff8
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x20], ebx
jmp 0x1001d4df
mov eax, dword [esp + 0x20]
mov dword [esp + eax*4 + 0x270], 0x489b467b
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edx
jl 0x1001d4cc
mov eax, dword [esp + 0x160]
dec dword [eax + 4]
jmp 0x1001d59f
mov dword [esp + 0x24], ebx
xor ecx, ecx
mov dword [esp + 0x4c], 0xb0f4f2d8
mov dword [esp + 0x30], 0xfffffff9
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x30], 0x5bdf607d
mov dword [esp + 0x30], 0xde97ee8c
mov eax, dword [esp + 0x28]
test eax, eax
mov eax, dword [esp + 0xe8]
setg cl
xor edx, edx
cmp ecx, 0xf44fb66c
setne dl
xor ecx, ecx
add edx, 2
cmp edx, dword [eax]
mov eax, dword [esp + 0x24]
setg cl
add eax, ecx
jne 0x1001d55e
mov eax, dword [esp + 0xe8]
cmp dword [eax], ebx
je 0x1001d566
mov edx, edi
cmp dword [esp + 0x24], ebx
jne 0x1001d568
mov edx, ebx
mov eax, dword [esp + 0x74]
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x34]
setge cl
add eax, dword [esp + 0x3c]
inc dword [esp + 0x34]
cmp eax, ecx
mov eax, edi
cmovge eax, ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], ebx
jmp 0x1001d598
dec dword [esp + 0x30]
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffff6
jle 0x1001d590
lea ecx, [esp + 0x160]
call fcn.10010636
or dword [esp + 0x294], 0xffffffff
lea ecx, [esp + 0xe8]
call fcn.10010636
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [esp + 0x1c], 0xc03342eb
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x1c], 0xffffffe6
jmp 0x1001d602
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001d5f6
push ebx
push 0x86b
push ebx
push ebx
push ebx
push ebx
call esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xfffffff7
jg 0x1001d5df
mov dword [esp + 0x24], 0xffffffff
lea ecx, [esp + 0xf4]
mov dword [esp + 0x24], 0xe923e64f
mov eax, 0xffff
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
push 3
call fcn.10010401
mov dword [esp + 0x20], ebx
jmp 0x1001d650
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xf4]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 3
jl 0x1001d63e
cmp dword [esp + 0x10], ebx
je 0x1001d69c
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], 0x86ba47c9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
sub ecx, 0x5679b458
cmp ecx, eax
mov eax, dword [esp + 0x10]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0x6e7f737a
setle cl
sub eax, ecx
cmp eax, dword [esp + 0x1c]
mov eax, edi
jle 0x1001d69e
mov eax, ebx
cmp eax, 0xfffffffe
sbb eax, eax
neg eax
cmp eax, dword [esp + 0x1c]
je 0x1001d6c0
mov dword [esp + 0x28], edi
mov dword [esp + 0x28], 0x1342f3d4
mov dword [esp + 0x28], edi
jmp 0x1001d780
push 2
mov dword [esp + 0x34], 3
mov dword [esp + 0x14], ebx
pop edx
jmp 0x1001d732