Function at 0x4dfe50
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c297f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x68
mov eax, dword [0x6c21e4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3c], edi
mov eax, dword [ebx + 8]
lea ecx, [edi + 0x18]
xorps xmm0, xmm0
mov dword [ebp - 0x44], eax
mov dword [edi + 0x30], 0xfffffffb
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
movsd qword [edi + 0x40], xmm0
call fcn.00516d20
mov ecx, edi
call fcn.00516d20
lea eax, [edi + 0xc]
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.00516d20
lea eax, [edi + 0x24]
mov ecx, eax
mov dword [ebp - 0x40], eax
call fcn.00516d20
push ecx
lea esi, [edi + 0x48]
push 0
mov ecx, esi
call fcn.004037a0
mov ecx, dword [ebp - 0x44]
call fcn.00513870
cmp eax, 0xa
jge 0x4dff08
mov eax, dword [edi + 0x30]
jmp 0x4e037c
add edi, 0x54
push ecx
mov ecx, edi
call fcn.004e6a90
test al, al
jne 0x4dff22
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x30]
jmp 0x4e037c
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x20]
movq qword [ebp - 0x20], xmm0
call fcn.00516ef0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x38]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
call fcn.00516ef0
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x2c]
movq qword [ebp - 0x2c], xmm0
call fcn.00516ef0
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
push 0x5f46d8
push 0
mov ecx, edi
call fcn.004e6250
test eax, eax
je 0x4dff96
lea ecx, [ebp - 0x20]
call fcn.00515a60
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x34], eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push 0x5f46e4
push 0
call fcn.004e6250
test eax, eax
je 0x4e02a2
lea ecx, [ebp - 0x20]
call fcn.00515a60
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x30], eax
lea eax, [ecx + 0x18]
push eax
push 0x5f4700
push 0
mov ecx, edi
call fcn.004e6250
push dword [ebp - 0x40]
mov ecx, edi
push 0x5f4718
push 0
call fcn.004e6250
test eax, eax
je 0x4dfff1
mov ecx, dword [ebp - 0x40]
call fcn.005167b0
test al, al
je 0x4e0023
push dword [ebp - 0x40]
mov ecx, edi
push 0x5f4720
push 0
call fcn.004e6250
test eax, eax
je 0x4e0012
mov ecx, dword [ebp - 0x40]
call fcn.005167b0
test al, al
je 0x4e0023
push dword [ebp - 0x40]
mov ecx, edi
push 0x5f4728
push 0
call fcn.004e6250
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x30]
cmp ecx, 1
jge 0x4e0035
mov esi, ecx
jmp 0x4e0362
push eax
push 0x5f473c
push 0
mov ecx, edi
call fcn.004e6250
mov ecx, dword [ebp - 0x3c]
call fcn.00516ab0
mov ecx, eax
call fcn.004da570
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ecx + 0x34]
test eax, eax
jle 0x4e025e
test byte [ebx + 0xc], 1
jne 0x4e025e
push ecx
push eax
mov ecx, esi
call fcn.004037a0
xor esi, esi
mov dword [ebp - 0x50], 0
push esi
lea eax, [ebp - 0x74]
mov dword [ebp - 0x40], esi
push eax
xorps xmm0, xmm0
mov ecx, edi
push 0x5f4750
movups xmmword [ebp - 0x60], xmm0
call fcn.004e64d0
test al, al
je 0x4e0249
lea eax, [ebp - 0x74]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004e5dc0
test al, al
je 0x4e0249
xor edx, edx
mov dword [ebp - 0x44], edx
nop
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
cmp dword [ecx + 0x48], esi
ja 0x4e00d4
lea eax, [esi + 1]
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x50]
mov ecx, edi
add eax, edx
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004e6360
test al, al
je 0x4e0223
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
push 0x5f475c
call fcn.004e64d0
test al, al
je 0x4e0223
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004e62f0
test eax, eax
je 0x4e0223
push 0x5f4770
lea ecx, [ebp - 0x20]
call fcn.00516de0
test al, al
je 0x4e017d
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
push 0x5f477c
call fcn.004e64d0
mov ecx, dword [ebp - 0x3c]
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
add eax, 0xc
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004e62f0
mov ecx, dword [ebp - 0x3c]
push str.null
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
lea ecx, [eax + 0xc]
call fcn.00516de0
test al, al
je 0x4e0196
mov ecx, dword [ebp - 0x3c]
push 0x5f478c
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
lea ecx, [eax + 0xc]
call fcn.00516e30
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
push 0x5f4798
call fcn.004e64d0
test al, al
je 0x4e020a
mov ecx, dword [ebp - 0x3c]
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
add eax, 0x18
mov ecx, edi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004e62f0
test eax, eax
je 0x4e020a
mov ecx, dword [ebp - 0x3c]
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
lea ecx, [eax + 0x18]
call fcn.00516cc0
cmp eax, 7
jle 0x4e020a
mov ecx, dword [ebp - 0x3c]
push 0
push 0
push 0x5f47a8
push 0x5f47bc
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
lea ecx, [eax + 0x18]
call fcn.00514230
jmp 0x4e021e
mov ecx, dword [ebp - 0x3c]
push esi
lea ecx, [ecx + 0x48]
call fcn.00403900
lea ecx, [eax + 0x18]
call fcn.00516d20
inc esi
add dword [ebp - 0x44], 0x24
mov eax, dword [ebp - 0x3c]
inc dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax + 0x34]
jge 0x4e0249
push 0
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004e5dc0
mov edx, dword [ebp - 0x44]
test al, al
jne 0x4e00c0
mov ecx, dword [ebp - 0x3c]
cmp esi, dword [ecx + 0x34]
jge 0x4e025e
push ecx
push esi
lea ecx, [ecx + 0x48]
call fcn.004037a0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ecx + 0x30]
cmp esi, 1
jl 0x4e0362
mov esi, dword [ebp - 0x4c]
mov ecx, edi
push esi
push 0x5f4800
push 0
call fcn.004e6250
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push 0x5f4814
push 0
call fcn.004e6250
test eax, eax
je 0x4e030e
lea ecx, [ebp - 0x20]
call fcn.00515a60
mov edi, dword [ebp - 0x3c]
mov dword [edi + 0x38], eax
jmp 0x4e0311
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
push 0x5f47e8
push 0
call fcn.004e6250
test eax, eax
je 0x4e025b
push 0x5f4770
lea ecx, [ebp - 0x20]
call fcn.00516da0
test al, al
je 0x4e02d5
mov ecx, dword [ebp - 0x3c]
mov dword [ecx + 0x30], 0
jmp 0x4e025e
mov esi, dword [ebp - 0x40]
mov ecx, edi
push esi
push 0x5f47f4
push 0
call fcn.004e6250
test eax, eax
je 0x4e025b
mov ecx, esi
call fcn.00516cc0
mov ecx, dword [ebp - 0x3c]
cmp eax, 0x1e
jle 0x4e025e
mov dword [ecx + 0x30], 1
jmp 0x4e025e
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x34]
test eax, eax
jne 0x4e031d
xorps xmm1, xmm1
jmp 0x4e033a
movd xmm1, dword [edi + 0x38]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mulsd xmm1, qword [0x6a4168]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [edi + 0x40], xmm1
test eax, eax
jne 0x4e035f
mov ecx, esi
call fcn.00516cc0
cmp eax, 0xa
jle 0x4e035f
mov ecx, edi
call fcn.005167b0
mov esi, 0xfffffffe
test al, al
jne 0x4e0362
mov esi, dword [edi + 0x30]
lea ecx, [ebp - 0x2c]
call fcn.00516d50
lea ecx, [ebp - 0x38]
call fcn.00516d50
lea ecx, [ebp - 0x20]
call fcn.00516d50
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e865
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8