Function at 0x52c6e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x6821ca
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
push esi
mov dword [ebx], 1
mov esi, dword [eax + 0x30]
push edi
mov edi, dword [esi]
test edi, edi
mov dword [esp + 0xc], ebx
je 0x52c7c4
lea ecx, [ecx]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov dword [ecx + 4], edx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x52c768
xor ecx, ecx
mov cx, word [eax + 0xa]
test cx, cx
lea edx, [ecx - 1]
mov word [eax + 0xa], dx
jne 0x52c761
mov eax, dword [eax + 0x5c]
push 0xae
push 0x68b520
push eax
call fcn.00620150
add esp, 0xc
mov dword [esi + 8], 0
push 0xc
push esi
call fcn.005e37e0
add esp, 8
test ebx, ebx
je 0x52c7b4
mov ecx, ebx
call fcn.005f07e0
mov ecx, dword [0x74508c]
mov dword [ecx + 0x5c], ebx
mov eax, dword [0x74508c]
xor ecx, ecx
mov cx, word [eax + 0xa]
test cx, cx
lea edx, [ecx - 1]
mov word [eax + 0xa], dx
jne 0x52c7b4
mov eax, dword [eax + 0x5c]
push 0xae
push 0x68b520
push eax
call fcn.00620150
add esp, 0xc
mov esi, edi
mov edi, dword [edi]
test edi, edi
jne 0x52c720
mov ebx, dword [esp + 0xc]
mov ecx, ebx
call fcn.005ef5f0
cmp dword [ebx], 0
mov dword [esp + 0x14], 0
jbe 0x52c92e
lea eax, [ebx + 8]
mov dword [esp + 0x18], eax
jmp 0x52c7f0
cmp word [eax - 4], 0
movzx ecx, word [eax - 2]
jne 0x52c914
test ecx, ecx
mov ebx, dword [eax]
je 0x52c910
mov dword [esp + 0x10], ecx
lea ecx, [ecx]
push 0xcb
push 0x68b520
push 0x10
push 0x80
call fcn.0061fe40
mov edi, eax
mov esi, edi
xor eax, eax
add esp, 0x10
test esi, esi
mov ecx, 0x20
rep stosd dword es:[edi], eax
je 0x52c846
mov dword [esi + 0x68], 0xffffffff
mov dword [esi + 0x6c], eax
jmp 0x52c848
xor esi, esi
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
mov byte [esi + 8], 5
call fcn.00528230
movaps xmm0, xmmword [eax]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x30], xmm0
movaps xmm0, xmmword [eax + 0x30]
movaps xmmword [esi + 0x40], xmm0
mov dx, word [ebx + 0x14]
push 0xc
mov word [esi + 0xc], dx
call fcn.005e3920
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
xor ecx, ecx
cmp edi, ecx
mov dword [esp + 0x6c], ecx
je 0x52c8de
mov dword [edi + 8], ecx
mov eax, ecx
cmp eax, esi
mov byte [esp + 0x6c], 1
je 0x52c8da
cmp eax, ecx
je 0x52c8d3
xor ecx, ecx
mov cx, word [eax + 0xa]
test cx, cx
lea edx, [ecx - 1]
mov word [eax + 0xa], dx
jne 0x52c8d3
mov eax, dword [eax + 0x5c]
push 0xae
push 0x68b520
push eax
call fcn.00620150
add esp, 0xc
mov dword [edi + 8], esi
inc word [esi + 0xa]
mov eax, edi
jmp 0x52c8e0
xor eax, eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x3c]
mov edx, dword [ecx]
mov dword [edx + 4], eax
mov dword [ecx], eax
mov dword [eax + 4], ecx
mov dword [eax], edx
mov eax, dword [esp + 0x10]
add ebx, 0x20
dec eax
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x10], eax
jne 0x52c810
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx]
inc ecx
add eax, 8
cmp ecx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jb 0x52c7f0
mov ecx, dword [esp + 0x64]
pop edi
pop esi
mov eax, ebx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4