Function at 0x4ca090
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5049bd
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x53d058]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 8]
xor esi, esi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], eax
mov ecx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
cmp byte [ecx + 0xd], 0
jne 0x4ca15b
mov edx, dword [edi + 0x10]
mov esi, ecx
mov dword [ebp - 0x20], edx
cmp dword [edi + 0x14], 8
lea ecx, [esi + 0x10]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x10], edi
jb 0x4ca0f8
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
cmp dword [ecx + 0x14], 8
mov edi, dword [ecx + 0x10]
jb 0x4ca103
mov ecx, dword [ecx]
cmp edx, edi
mov eax, edi
cmovb eax, edx
push eax
push dword [ebp - 0x10]
push ecx
call fcn.0040c240
mov edx, dword [ebp - 0x20]
add esp, 0xc
test eax, eax
jne 0x4ca12b
cmp edx, edi
jbe 0x4ca127
or eax, 0xffffffff
jmp 0x4ca12b
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x4ca141
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
jmp 0x4ca14f
mov eax, esi
mov dword [ebp - 0x10], 1
mov esi, dword [esi]
mov dword [ebp - 0x14], eax
cmp byte [esi + 0xd], 0
mov edi, dword [ebp - 0x18]
je 0x4ca0e4
mov esi, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
jne 0x4ca1d6
cmp dword [eax + 0x24], 8
lea ecx, [eax + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x10], eax
jb 0x4ca172
mov ecx, dword [ecx]
cmp dword [edi + 0x14], 8
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x18], edi
jb 0x4ca183
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x10], edx
mov eax, edx
cmovb eax, dword [ebp - 0x10]
push eax
push ecx
push dword [ebp - 0x18]
call fcn.0040c240
add esp, 0xc
test eax, eax
jne 0x4ca1b0
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
jbe 0x4ca1ac
or eax, 0xffffffff
jmp 0x4ca1b0
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
jne 0x4ca1d6
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov byte [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x28]
cmp dword [eax + 4], 0x4ec4ec4
je 0x4ca27f
mov dword [ebp - 0x1c], eax
push 0x34
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
call fcn.00498569
xor ecx, ecx
add esp, 4
mov dword [eax + 0x10], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movups xmm0, xmmword [edi]
push eax
push esi
push dword [ebp - 0x24]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [eax + 0x20], xmm0
mov word [edi], cx
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov ecx, dword [ebp - 0x30]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x28]
mov word [eax + 0xc], 0
call fcn.004134e0
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
call fcn.0040f340
int3