Function at 0x100b3e00
Capabilities:
Create thread
Hide graphical window
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011d5c9
mov eax, dword fs:[0]
push eax
sub esp, 0x7c4
mov eax, dword [0x10159e80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x440], ecx
mov dword [eax + 4], eax
mov byte [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [ebp - 4], 0
lea esi, [eax + 0x1c]
mov dword [eax], vtable.RRS::GUI::CGUI.0
xor al, al
mov dword [ebp - 0x444], esi
mov byte [esi], al
mov dword [esi + 4], 0
push 0x44
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call fcn.100edc1e
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 8], eax
lea ecx, [esi + 0x10]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 2
push dword [esi + 8]
mov dword [esi + 0x1c], 7
push 0x10
mov dword [esi + 0x20], 8
mov dword [esi + 4], 0x3f800000
call fcn.100b6860
mov eax, dword [ebp - 0x460]
mov word [eax + 0x40], 0x101
mov dword [eax + 0x44], 0x3c
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
push edi
lea esi, [eax + 0x5c]
mov byte [ebp - 4], 4
mov edi, eax
mov dword [ebp - 0x444], esi
push edi
mov ecx, esi
call fcn.100bdae0
mov byte [ebp - 4], 5
xorps xmm1, xmm1
movss xmm0, dword [esi + 0xf0]
ucomiss xmm0, xmm1
mov dword [esi], vtable.RRS::GUI::CHint.0
mov dword [esi + 0x420], 0
mov dword [esi + 0x424], 0
mov dword [esi + 0x428], 0
mov dword [esi + 0x42c], 0
mov word [esi + 0x430], 0
lahf
test ah, 0x44
jnp 0x100b3fec
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x100b3fdb
movss xmm0, dword [esi + 0xec]
comiss xmm1, xmm0
mov dword [esi + 0x100], 0
mov dword [esi + 0xf0], 0
movss dword [esi + 0xe8], xmm0
jbe 0x100b3fc3
cmp dword [esi + 0xf4], 0
jmp 0x100b3fcf
comiss xmm0, xmm1
jbe 0x100b3fdb
cmp dword [esi + 0xf8], 0
jne 0x100b3fdb
mov dword [esi + 0xec], 0
mov eax, dword [esi + 4]
cmp byte [eax + 0x41], 0
jne 0x100b3fe8
mov byte [eax + 0x41], 1
mov byte [eax + 0x40], 1
push 4
xorps xmm0, xmm0
mov dword [ebp - 0x4b4], 0
push str.Hint
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x4b0], 0
movups xmmword [ebp - 0x4c4], xmm0
call fcn.100023d0
lea eax, [esi + 0x28]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4c4]
cmp eax, ecx
je 0x100b406b
mov ecx, eax
call fcn.10002530
movups xmm0, xmmword [ebp - 0x4c4]
lea eax, [esi + 0x28]
xor ecx, ecx
mov word [ebp - 0x4c4], cx
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x4b4]
movq qword [eax + 0x10], xmm0
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 7
push eax
lea ecx, [esi + 0x10]
call fcn.100126c0
lea ecx, [ebp - 0x4c4]
call fcn.10002530
mov byte [ebp - 4], 9
lea esi, [edi + 0x490]
lea ecx, [ebp - 0x7d0]
mov dword [ebp - 0x444], esi
call fcn.10017e10
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.100b0ca0
lea ecx, [ebp - 0x7d0]
call fcn.10017d90
mov ecx, 0x32
mov dword [esi], vtable.RRS::GUI::CEdit.0
mov dword [esi + 0x35c], 0
mov dword [esi + 0x360], 0
mov byte [esi + 0x364], 0
call fcn.10029260
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [esi + 0x17c]
lahf
test ah, 0x44
jnp 0x100b4137
movss xmm1, dword [esi + 0x178]
comiss xmm0, xmm1
mov dword [esi + 0x18c], 0
movss dword [esi + 0x174], xmm1
movss dword [esi + 0x17c], xmm0
jbe 0x100b4121
cmp dword [esi + 0x180], 0
jmp 0x100b412d
comiss xmm1, xmm0
jbe 0x100b4137
cmp dword [esi + 0x184], 0
jne 0x100b4137
movss dword [esi + 0x178], xmm0
mov ecx, 0xf
call fcn.10029260
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [esi + 0x198]
lahf
test ah, 0x44
jnp 0x100b419b
movss xmm1, dword [esi + 0x194]
comiss xmm0, xmm1
mov dword [esi + 0x1a8], 0
movss dword [esi + 0x190], xmm1
movss dword [esi + 0x198], xmm0
jbe 0x100b4185
cmp dword [esi + 0x19c], 0
jmp 0x100b4191
comiss xmm1, xmm0
jbe 0x100b419b
cmp dword [esi + 0x1a0], 0
jne 0x100b419b
movss dword [esi + 0x194], xmm0
push dword [ebp - 0x440]
lea esi, [edi + 0x7f8]
mov byte [ebp - 4], 0xb
push edi
mov ecx, esi
mov dword [ebp - 0x444], esi
call fcn.100b0ca0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x4dc]
push 5
xorps xmm0, xmm0
mov dword [esi], vtable.RRS::GUI::CLight.0
push str.Light
movups xmmword [ebp - 0x4dc], xmm0
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0
call fcn.100023d0
add esi, 0x28
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x4dc]
cmp esi, eax
je 0x100b423f
mov ecx, esi
call fcn.10002530
movups xmm0, xmmword [ebp - 0x4dc]
xor eax, eax
mov word [ebp - 0x4dc], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x4cc]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 7
push esi
lea ecx, [edi + 0x808]
call fcn.100126c0
lea ecx, [ebp - 0x4dc]
call fcn.10002530
mov byte [ebp - 4], 0xe
push 4
mov dword [edi + 0xb54], 0
mov dword [edi + 0xb58], 0
mov dword [edi + 0xb5c], 0
mov dword [edi + 0xb60], 0
mov dword [edi + 0xb64], 0
mov dword [edi + 0xb68], 0
mov dword [edi + 0xb6c], 0
call fcn.100edc1e
add esp, 4
mov dword [eax], vtable.RRS::GFX::GPU.0
mov dword [edi + 0xb70], eax
mov dword [edi + 0xb74], 0
mov dword [edi + 0xb78], 2
mov dword [edi + 0xb7c], 0x2f2
mov dword [edi + 0xb80], 0x1e7
mov byte [edi + 0xb84], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0xb88], eax
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x24
mov dword [edi + 0xb8c], eax
mov dword [edi + 0xb90], 0
call esi
push 0x25
mov dword [edi + 0xb94], eax
call esi
lea esi, [edi + 0xba8]
mov dword [edi + 0xb98], eax
mov word [edi + 0xba4], 0
mov byte [edi + 0xba6], 0
mov dword [esi], 0
mov dword [esi + 4], edi
mov word [esi + 8], 0x101
mov byte [ebp - 4], 0xf
lea ecx, [edi + 0xedc]
mov dword [edi + 0xed4], 0
mov dword [edi + 0xed8], 0
call fcn.100b1510
movss xmm1, dword [0x101414ec]
lea ecx, [edi + 0xf00]
push 1
push 0xfa
push 0xfa
call fcn.100b0610
mov byte [edi + 0xf1c], 0
call fcn.100ca170
call fcn.100d61c0
push 0x428
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.100efb50
add esp, 0xc
mov dword [ebp - 0x43c], 0x42c
call dword [sym.imp.USER32.dll_GetCursor]
lea ecx, [ebp - 0x43c]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetIconInfoExW]
mov eax, dword [ebp - 0x434]
lea ecx, [ebp - 0x45c]
push 0x1b
mov dword [edi + 0xb68], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x430]
push str.HKEY_CURRENT_USER_Software_
mov dword [edi + 0xb6c], eax
movups xmmword [ebp - 0x45c], xmm0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
call fcn.100023d0
mov byte [ebp - 4], 0x10
mov eax, Ordinal_1
mov ecx, dword [ebp - 0x44c]
sub eax, ecx
cmp eax, 0xe
jb 0x100b4b43
cmp dword [ebp - 0x448], 7
lea eax, [ebp - 0x45c]
push 0xe
cmova eax, dword [ebp - 0x45c]
push 0x10139310
push ecx
push eax
push ecx
push dword [ebp - 0x464]
lea ecx, [ebp - 0x4f4]
call fcn.10002200
push 1
push 0x101373e0
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x11
call fcn.10002000
mov dword [ebp - 0x49c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4ac], xmm0
mov dword [ebp - 0x498], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4ac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x49c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 9
push 0x10139340
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0x12
call fcn.10002000
mov dword [ebp - 0x484], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x494], xmm0
mov dword [ebp - 0x480], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x494], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x484], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 4
push str._GFX
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 0x13
call fcn.10002000
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x47c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x46c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x47c]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x528]
call fcn.100022c0
push 0
xor edx, edx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x528]
call fcn.100c9930
add esp, 4
mov dword [ebp - 0x440], eax
lea ecx, [ebp - 0x528]
call fcn.10002530
lea ecx, [ebp - 0x47c]
call fcn.10002530
lea ecx, [ebp - 0x494]
call fcn.10002530
lea ecx, [ebp - 0x4ac]
call fcn.10002530
lea ecx, [ebp - 0x4f4]
call fcn.10002530
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0xf
call fcn.10002530
mov ecx, dword [ebp - 0x440]
test ecx, ecx
je 0x100b45ed
mov eax, dword [ecx]
push ecx
mov dword [edi + 0xb78], eax
call fcn.100edc4e
add esp, 4
push 0x1b
xorps xmm0, xmm0
mov dword [ebp - 0x44c], 0
push str.HKEY_CURRENT_USER_Software_
lea ecx, [ebp - 0x45c]
mov dword [ebp - 0x448], 0
movups xmmword [ebp - 0x45c], xmm0
call fcn.100023d0
mov byte [ebp - 4], 0x16
mov eax, Ordinal_1
mov ecx, dword [ebp - 0x44c]
sub eax, ecx
cmp eax, 0xe
jb 0x100b4b48
cmp dword [ebp - 0x448], 7
lea eax, [ebp - 0x45c]
push 0xe
cmova eax, dword [ebp - 0x45c]
push 0x10139310
push ecx
push eax
push ecx
push dword [ebp - 0x464]
lea ecx, [ebp - 0x558]
call fcn.10002200
push 1
push 0x101373e0
lea ecx, [ebp - 0x558]
mov byte [ebp - 4], 0x17
call fcn.10002000
mov dword [ebp - 0x484], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x494], xmm0
mov dword [ebp - 0x480], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x494], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x484], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 9
push 0x10139340
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 0x18
call fcn.10002000
mov dword [ebp - 0x49c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4ac], xmm0
mov dword [ebp - 0x498], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4ac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x49c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 4
push str._FPS
lea ecx, [ebp - 0x4ac]
mov byte [ebp - 4], 0x19
call fcn.10002000
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x47c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x46c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x47c]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x540]
call fcn.100022c0
push 0
xor edx, edx
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x540]
call fcn.100c9930
add esp, 4
mov dword [ebp - 0x440], eax
lea ecx, [ebp - 0x540]
call fcn.10002530
lea ecx, [ebp - 0x47c]
call fcn.10002530
lea ecx, [ebp - 0x4ac]
call fcn.10002530
lea ecx, [ebp - 0x494]
call fcn.10002530
lea ecx, [ebp - 0x558]
call fcn.10002530
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0xf
call fcn.10002530
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x100b4a2a
mov eax, dword [eax]
cmp dword [edi + 0x44], eax
je 0x100b4a1b
mov dword [edi + 0x44], eax
mov eax, dword [edi + 0x48]
test eax, eax
je 0x100b4a1b
push edi
push eax
call dword [sym.imp.USER32.dll_KillTimer]
movd xmm1, dword [edi + 0x44]
movss xmm0, dword [0x10141744]
cvtdq2ps xmm1, xmm1
push 0x100ba780
divss xmm0, xmm1
call fcn.10114150
push eax
push edi
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_SetTimer]
push 0x1b
xorps xmm0, xmm0
mov dword [ebp - 0x44c], 0
push str.HKEY_CURRENT_USER_Software_
lea ecx, [ebp - 0x45c]
mov dword [ebp - 0x448], 0
movups xmmword [ebp - 0x45c], xmm0
call fcn.100023d0
mov byte [ebp - 4], 0x1c
mov eax, Ordinal_1
mov ecx, dword [ebp - 0x44c]
sub eax, ecx
cmp eax, 0xe
jb 0x100b4b4d
cmp dword [ebp - 0x448], 7
lea eax, [ebp - 0x45c]
push 0xe
cmova eax, dword [ebp - 0x45c]
push 0x10139310
push ecx
push eax
push ecx
push dword [ebp - 0x464]
lea ecx, [ebp - 0x50c]
call fcn.10002200
push 1
push 0x101373e0
lea ecx, [ebp - 0x50c]
mov byte [ebp - 4], 0x1d
call fcn.10002000
mov dword [ebp - 0x46c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x47c], xmm0
mov dword [ebp - 0x468], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x47c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x46c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 9
push 0x10139340
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 0x1e
call fcn.10002000
mov dword [ebp - 0x4e4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4f4], xmm0
mov dword [ebp - 0x4e0], 0
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4f4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4e4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 4
push str._FPS
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 0x1f
call fcn.10002000
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x528], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x518], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x528]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x570]
call fcn.100022c0
push ecx
push 4
lea edx, [edi + 0x44]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x570]
call fcn.100c9b50
add esp, 8
lea ecx, [ebp - 0x570]
call fcn.10002530
lea ecx, [ebp - 0x528]
call fcn.10002530
lea ecx, [ebp - 0x4f4]
call fcn.10002530
lea ecx, [ebp - 0x47c]
call fcn.10002530
lea ecx, [ebp - 0x50c]
call fcn.10002530
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0xf
call fcn.10002530
mov eax, dword [ebp - 0x440]
push eax
call fcn.100edc4e
add esp, 4
cmp dword [edi + 0x4c], 0
je 0x100b4ae7
mov ecx, edi
call fcn.100b5760
mov ecx, edi
call fcn.100babd0
cmp byte [edi + 0xb84], 1
je 0x100b4ae7
cmp dword [edi + 0x48], 0
mov byte [edi + 0xb84], 1
je 0x100b4a79
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 4]
push 5
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 0x48]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x504], 0x7d0
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x508], 0x3f800000
movups xmm0, xmmword [ebp - 0x510]
mov dword [ebp - 0x500], 0x7d0
mov dword [ebp - 0x4fc], 0
movups xmmword [edi + 0xf00], xmm0
mov dword [edi + 0xed8], 0
movq xmm0, qword [ebp - 0x500]
movq qword [edi + 0xf10], xmm0
mov dword [edi + 0xf18], 0
cmp byte [esi + 9], 0
je 0x100b4b11
mov eax, dword [esi]
mov byte [esi + 9], 0
test eax, eax
jne 0x100b4b0a
push eax
push 4
push esi
push 0x100d57b0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi], eax
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
add edi, 0xbb4
mov ecx, 0xc8
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100edbdf
mov esp, ebp
pop ebp
ret 0x18
call fcn.10002e80
call fcn.10002e80
call fcn.10002e80
int3