Function at 0x6111e0
Capabilities:
Access peb ldr_data
Get ntdll base address
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x87aa96
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8ce6f4]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.0061fc00
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [esi + 0x4c0]
xor ebx, ebx
push eax
mov dword [esp + 0x24], ebx
mov dword [esi], fcn.006306e0
mov dword [esi + 0xc], 0x43c7ec
call edi
mov dl, byte [esp + 0x34]
mov al, byte [esp + 0x2c]
lea ecx, [esi + 0x4f0]
mov byte [esp + 0x20], 1
mov dword [esi + 0x4d8], ebx
mov byte [esi + 0x4dc], bl
mov byte [esi + 0x4de], dl
mov dword [esi + 0x4e0], ebx
mov dword [esi + 0x4e4], ebx
mov byte [esi + 0x4e9], al
mov byte [esi + 0x4ea], 1
mov dword [esi + 0x4ec], ebx
call fcn.005fe650
lea eax, [esi + 0x564]
push eax
call edi
mov dword [esi + 0x57c], ebx
mov byte [esp + 0x20], 3
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x6112ba
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x580], eax
mov dword [esi + 0x584], ebx
mov dword [esi + 0x588], ebx
mov dword [esi + 0x58c], ebx
mov dword [esi + 0x590], ebx
mov dword [esi + 0x594], ebx
mov dword [esi + 0x598], ebx
mov dword [esi + 0x59c], ebx
mov dword [esi + 0x5a8], ebx
mov dword [esi + 0x5e4], ebx
mov dword [esi + 0x5e8], ebx
mov dword [esi + 0x5ec], ebx
mov dword [esi + 0x5f0], ebx
mov dword [esi + 0x5f4], ebx
lea eax, [esi + 0x650]
push eax
mov dword [esi + 0x610], ebx
mov dword [esi + 0x614], ebx
mov dword [esi + 0x618], ebx
call edi
fld1
push fcn.004a8c20
fstp qword [esi + 0x26a8]
push fcn.005345e0
push 0xa
push 4
lea ecx, [esi + 0x2dd0]
push ecx
mov byte [esp + 0x34], 0xb
mov dword [esi + 0x14f0], ebx
mov dword [esi + 0x14f4], ebx
mov dword [esi + 0x269c], ebx
mov dword [esi + 0x26a0], ebx
mov byte [esi + 0x2db8], bl
mov dword [esi + 0x2dbc], ebx
mov dword [esi + 0x2dc0], ebx
mov dword [esi + 0x2dc4], ebx
mov dword [esi + 0x2dc8], ebx
mov dword [esi + 0x2dcc], ebx
call fcn.00803c4e
mov byte [esp + 0x20], 0xc
call fcn.007cff5d
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x6113b7
push 0x80004005
call fcn.004a8210
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x2df8], eax
push 0x402a88
lea ecx, [esi + 0x2e00]
mov byte [esp + 0x24], 0xd
call fcn.004a8f10
mov byte [esp + 0x20], 0xe
cmp dword [ebp], ebx
jge 0x6113fd
mov ecx, dword [esp + 0x38]
push 0x25
push 0x43b688
call fcn.004a9f20
jmp 0x6116cb
mov dword [esi + 0x5fc], ebx
mov dword [esi + 0x600], ebx
mov dword [esi + 0x604], ebx
mov dword [esi + 0x608], ebx
mov dword [esi + 0x60c], ebx
call fcn.00533c60
mov ecx, eax
call fcn.005fe820
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
cmp edi, ebx
je 0x61147b
push 0x43b668
push edi
call ebp
push 0x43d5cc
push edi
mov dword [esi + 0x5fc], eax
call ebp
push 0x43b658
push edi
mov dword [esi + 0x600], eax
call ebp
push 0x43b648
push edi
mov dword [esi + 0x604], eax
call ebp
push 0x43b634
push edi
mov dword [esi + 0x608], eax
call ebp
mov dword [esi + 0x60c], eax
jmp 0x6114a9
mov edi, dword [esp + 0x38]
push 0x54
push 0x43b588
mov ecx, edi
call fcn.004a9f20
push 9
push 0x43b574
mov ecx, edi
call fcn.004a9f20
push 0x3c
push 0x43b4f8
mov ecx, edi
call fcn.004a9f20
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x402024
mov dword [esi + 0x550], ebx
mov dword [esi + 0x554], ebx
call edi
mov dword [esi + 0x558], eax
cmp eax, ebx
je 0x6114ee
push 0x401fd8
push eax
call ebp
mov ecx, dword [esi + 0x558]
push 0x43b4dc
push ecx
mov dword [esi + 0x550], eax
call ebp
mov dword [esi + 0x554], eax
push 0x43b4c8
mov dword [esi + 0x55c], ebx
call edi
mov dword [esi + 0x560], eax
cmp eax, ebx
je 0x611513
push 0x43b4b4
push eax
call ebp
mov dword [esi + 0x55c], eax
mov eax, dword [esi + 0x55c]
cmp eax, ebx
je 0x611538
lea ebp, [esi + 0xdc]
push ebp
push 0x20
call eax
cmp dword [ebp], ebx
jne 0x611538
mov edx, dword [esi + 0x55c]
push ebp
push 0x1f
call edx
cmp dword [esi + 0xdc], ebx
lea eax, [esi + 0xdc]
jne 0x61158e
push 0x20
call sub.d3d9.dll_Direct3DCreate9
mov ebp, eax
mov eax, dword [esi + 0xd8]
cmp eax, ebx
je 0x611561
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0xd8], ebp
cmp ebp, ebx
jne 0x61159a
push 0x1f
call sub.d3d9.dll_Direct3DCreate9
mov ebp, eax
mov eax, dword [esi + 0xd8]
cmp eax, ebx
je 0x611586
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0xd8], ebp
jmp 0x61159a
push eax
lea ecx, [esi + 0xd8]
call fcn.006038c0
fldz
push 0x1e0
fst qword [esi + 0x14f8]
lea eax, [esi + 0x1518]
push ebx
fst qword [esi + 0x1500]
push eax
fstp qword [esi + 0x1508]
mov byte [esi + 0x1510], bl
call fcn.00802690
push 0xfa0
lea ecx, [esi + 0x16f8]
push ebx
push ecx
call fcn.00802690
push 0x38
lea edx, [esi + 0x5ac]
push ebx
push edx
mov dword [esi + 0x2698], ebx
call fcn.00802690
push 0x320
lea eax, [esi + 0x690]
push ebx
push eax
call fcn.00802690
push 0x320
lea ecx, [esi + 0x9b0]
push ebx
push ecx
call fcn.00802690
fldz
fst qword [esi + 0x670]
add esp, 0x3c
fst qword [esi + 0x678]
mov dword [esi + 0xcd0], ebx
fst qword [esi + 0x680]
fstp qword [esi + 0x648]
call fcn.00533c70
cmp byte [eax + 0x24], bl
je 0x611654
mov eax, dword [esi + 0x554]
mov byte [esi + 0x4e8], 1
cmp eax, ebx
je 0x61165a
push ebx
call eax
jmp 0x61165a
mov byte [esi + 0x4e8], bl
mov edx, dword [esp + 0x38]
push edx
mov ecx, esi
call fcn.0060eb60
mov ecx, dword [esp + 0x30]
push 0x3f0
lea edx, [esi + 0xcd8]
push ebx
push edx
mov dword [ecx], eax
call fcn.00802690
push 0x3f0
lea eax, [esi + 0x10c8]
push ebx
push eax
call fcn.00802690
fldz
fst qword [esi + 0x620]
add esp, 0x18
fst qword [esi + 0x628]
mov dword [esi + 0x14e8], ebx
fst qword [esi + 0x638]
mov dword [esi + 0x14ec], ebx
fstp qword [esi + 0x640]
mov dword [esi + 0x14b8], ebx
mov dword [esi + 0x14bc], ebx
mov byte [esi + 0xcd4], bl
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x14