Function at 0x4300c8
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xe8
lea edi, [ebp - 0x18]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x2c], ecx
mov esi, edx
mov ecx, edx
xor edx, edx
mov dword [edi - 4], esp
or dword [edi + 8], 0xffffffff
mov dword [edi + 4], 0x583ee0
mov eax, dword fs:[0]
mov dword [edi], eax
mov dword fs:[0], edi
call fcn.0041c40c
lea edx, [ebp - 0xe0]
lea ecx, [ebp - 0xf4]
and dword [edi + 8], 0
mov dword [ebp - 0x20], esi
and dword [edx + 0x20], 0
mov dword [edx + 0x24], 4
and dword [edx + 0x28], 0
and dword [edx + 0x2c], 0
mov dword [edx + 0x30], 8
and dword [edx + 0x34], 0
and dword [edx + 0x38], 0
mov dword [ecx + 8], esi
and dword [ecx + 0xc], 0
and dword [ecx], 0
and dword [ecx + 0x10], 0
mov dword [edx], 2
push ebx
push dword [ebp + 8]
call fcn.004303a0
pop ecx
pop edx
test eax, eax
je 0x4301a6
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x144]
or ecx, dword [edx + 0x148]
test cl, 1
je 0x43017f
mov cl, byte [eax + 0x9d]
and cl, 0x1d
cmp cl, 0xc
jne 0x43019f
mov ecx, dword [ebp - 0x2c]
or dword [ebp - 0x10], 0xffffffff
mov dword [ecx + 4], eax
mov dword [ecx], 0x80000000
lea ecx, [ebp - 0xe0]
call fcn.004378cc
jmp 0x430344
mov ecx, eax
call fcn.0042179f
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x3c]
and dword [eax], 0
mov dword [eax + 4], 4
and dword [eax + 8], 0
push 4
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x48]
imul edx, dword [eax + 0x4c], 0x11c
add edx, ecx
cmp ecx, edx
je 0x43024d
test byte [ecx + 0x104], 2
lea esi, [ecx + 0x11c]
mov ecx, esi
je 0x4301dc
mov ecx, dword [esi - 0x20]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [esi - 0x1c]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x3c]
mov ecx, esi
jne 0x430231
mov dword [ebp - 0x44], edx
xor edx, edx
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 1
inc edx
call fcn.0042ab0f
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x28]
mov dword [esi + ebx*8], edi
mov edi, dword [ebp - 0x48]
mov dword [esi + ebx*8 + 4], edi
inc ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
jmp 0x4301dc
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x43027a
mov esi, ecx
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
push dword [esi + 8]
push dword [esi + 4]
call fcn.0043792b
pop ecx
pop edx
add esi, 0xc
test eax, eax
mov dword [ebp - 0x24], esi
jne 0x4301d0
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x10], 2
lea ecx, [ebp - 0xe0]
and dword [eax], 0
mov dword [eax + 4], 4
and dword [eax + 8], 0
and dword [eax + 0xc], 0
mov dword [eax + 0x10], 8
and dword [eax + 0x14], 0
mov dword [ebp - 0x24], edx
push eax
push dword [ebp - 0x28]
call fcn.0043796d
pop eax
pop ecx
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x10], 1
call fcn.00437bd7
push 0x3c
lea eax, [ebp - 0xe0]
push eax
lea esi, [ebp - 0xa4]
push esi
call fcn.0058a110
add esp, 0xc
movsd xmm1, qword [ebp - 0x7c]
movsd xmm0, qword [ebp - 0x84]
mov eax, dword [ebp - 0x6c]
mov ecx, esi
movsd qword [ebp - 0x60], xmm1
movsd xmm1, qword [ebp - 0x74]
movsd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x50], eax
movsd qword [ebp - 0x58], xmm1
call fcn.00437c54
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
movsd xmm0, qword [ebp - 0x58]
movsd xmm2, qword [ebp - 0x68]
movsd xmm1, qword [ebp - 0x60]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x18], eax
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
mov ecx, dword [ebp - 0x3c]
call fcn.0042aff9
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret