Function at 0x4128e0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x5256a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
call fcn.00407720
mov eax, str.type
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], edi
mov byte [ebp - 0x3c], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412920
sub eax, edx
push eax
push str.type
lea ecx, [ebp - 0x3c]
call fcn.00407740
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x20]
push edx
mov ecx, esi
call fcn.00407840
cmp dword [ebp - 0x28], 0x10
jb 0x412958
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00406cf9
add esp, 4
mov eax, str.renderer
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412960
mov ebx, dword [ebp - 0x10]
sub eax, edx
mov esi, eax
mov ecx, ebx
cmp ebx, esi
jb 0x412976
mov ecx, esi
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
cmp edi, 0x10
jae 0x412984
lea eax, [ebp - 0x20]
push ecx
push str.renderer
push eax
call fcn.00407fb0
add esp, 0xc
test eax, eax
jne 0x4129a4
cmp ebx, esi
jb 0x4129a4
cmp ebx, esi
setne al
test eax, eax
je 0x4129fa
mov eax, str.compute_only_renderer
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4129b0
sub eax, edx
mov esi, eax
mov ecx, ebx
cmp ebx, esi
jb 0x4129c3
mov ecx, esi
mov eax, dword [ebp - 0x20]
cmp edi, 0x10
jae 0x4129ce
lea eax, [ebp - 0x20]
push ecx
push str.compute_only_renderer
push eax
call fcn.00407fb0
add esp, 0xc
test eax, eax
jne 0x412c13
cmp ebx, esi
jb 0x412c13
cmp ebx, esi
setne al
test eax, eax
jne 0x412c13
lea ecx, [ebp - 0x74]
call fcn.00412cd0
mov ecx, dword [0x528180]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov edi, eax
mov eax, str.compute_only_renderer
mov dword [ebp - 0x5c], edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412a20
mov ebx, dword [ebp - 0x10]
sub eax, edx
mov esi, eax
mov eax, ebx
cmp ebx, esi
jb 0x412a36
mov eax, esi
cmp dword [ebp - 0xc], 0x10
mov ecx, dword [ebp - 0x20]
jae 0x412a42
lea ecx, [ebp - 0x20]
push eax
push str.compute_only_renderer
push ecx
call fcn.00407fb0
add esp, 0xc
test eax, eax
jne 0x412a6a
cmp ebx, esi
jb 0x412a6a
cmp ebx, esi
setne al
test eax, eax
jne 0x412a6a
push edi
call fcn.00451aa0
jmp 0x412a70
push edi
call fcn.0041d9c0
mov ebx, dword [ebp - 0x60]
add esp, 4
cmp dword [ebx + 0x10], 0
mov esi, 8
je 0x412b00
cmp dword [ebx + 0x14], esi
jb 0x412a8a
mov eax, dword [ebx]
jmp 0x412a8c
mov eax, ebx
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x2c]
push 0
push 0
mov ecx, edi
call eax
test eax, eax
jne 0x412ae0
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, ebx
mov dword [ebp - 0x64], 0x4ec938
mov dword [ebp - 0x60], 1
call fcn.0044eb70
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], esi
jae 0x412ac6
lea eax, [ebp - 0x3c]
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x2c]
push 0
push 0
mov ecx, edi
call eax
lea ecx, [ebp - 0x3c]
test eax, eax
je 0x412afb
call fcn.00406f40
lea ecx, [ebp - 0x74]
call fcn.00429650
cmp dword [ebp - 0xc], 0x10
jb 0x412c24
mov ecx, dword [ebp - 0x20]
push ecx
jmp 0x412c1c
call fcn.00406f40
push edi
mov edi, dword [ebp - 0x78]
push edi
call fcn.0041f250
add esp, 8
test al, al
jne 0x412b22
lea ecx, [ebp - 0x74]
call fcn.00429650
cmp dword [ebp - 0xc], 0x10
jmp 0x412c16
lea eax, [ebp - 0x3c]
push eax
mov ecx, edi
call fcn.0040e820
cmp dword [eax + 0x14], esi
jb 0x412b36
mov ebx, dword [eax]
jmp 0x412b38
mov ebx, eax
lea ecx, [ebp - 0x58]
push ecx
mov ecx, edi
call fcn.0040fcb0
cmp dword [eax + 0x14], esi
jb 0x412b4c
mov edi, dword [eax]
jmp 0x412b4e
mov edi, eax
mov edx, dword [0x528180]
mov esi, dword [edx]
lea ecx, [ebp - 0x74]
call fcn.00426a60
mov ecx, dword [0x528180]
mov edx, dword [esi + 8]
push eax
mov eax, dword [ebp - 0x5c]
push eax
push ebx
push edi
call edx
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.00406f40
cmp dword [ebp - 0x28], 8
jb 0x412b8c
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00406cf9
add esp, 4
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x412bbd
lea ecx, [ebp - 0x74]
call fcn.00429650
lea ecx, [ebp - 0x20]
call fcn.0042f290
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401306
mov esp, ebp
pop ebp
ret
mov eax, dword [0x528178]
test eax, eax
je 0x412bdc
cmp byte [eax + 0x5b], 0
je 0x412bdc
call fcn.0042f200
push 0x4e796c
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
mov ecx, dword [ebp - 0x70]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea ecx, [ebp - 0x74]
call fcn.0042f280
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.00429650
lea ecx, [ebp - 0x20]
call fcn.0042f290
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401306
mov esp, ebp
pop ebp
ret
cmp edi, 0x10
jb 0x412c24
mov edx, dword [ebp - 0x20]
push edx
call fcn.00406cf9
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00401306
mov esp, ebp
pop ebp
ret