Function at 0x4d4040
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50df5d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x54c154]
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 0x4d410b
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 0x4d40a8
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
cmp dword [ecx + 0x14], 8
mov edi, dword [ecx + 0x10]
jb 0x4d40b3
mov ecx, dword [ecx]
cmp edx, edi
mov eax, edi
cmovb eax, edx
push eax
push dword [ebp - 0x10]
push ecx
call fcn.004104a0
mov edx, dword [ebp - 0x20]
add esp, 0xc
test eax, eax
jne 0x4d40db
cmp edx, edi
jbe 0x4d40d7
or eax, 0xffffffff
jmp 0x4d40db
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x4d40f1
mov esi, dword [esi + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], 0
jmp 0x4d40ff
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 0x4d4094
mov esi, dword [ebp - 0x10]
cmp byte [eax + 0xd], 0
jne 0x4d4186
cmp dword [eax + 0x24], 8
lea ecx, [eax + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x10], eax
jb 0x4d4122
mov ecx, dword [ecx]
cmp dword [edi + 0x14], 8
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x18], edi
jb 0x4d4133
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.004104a0
add esp, 0xc
test eax, eax
jne 0x4d4160
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, eax
jbe 0x4d415c
or eax, 0xffffffff
jmp 0x4d4160
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
jne 0x4d4186
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 0x4d422f
mov dword [ebp - 0x1c], eax
push 0x34
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
call fcn.004a4626
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.00423a80
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.00421ad0
int3