Function at 0x5e1a90
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x710523
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x10], ebp
call fcn.005c80f0
mov cl, byte [esp + 0x30]
lea esi, [ebp + 0x1c]
xor eax, eax
mov dword [esp + 0x1c], eax
mov byte [esi], cl
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x24], 1
mov dword [ebp + 0x18], edi
call fcn.005c8390
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 4]
imul ebx, edi
test eax, eax
jne 0x5e1afb
xor ecx, ecx
jmp 0x5e1b03
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jae 0x5e1c8b
test eax, eax
jne 0x5e1b13
xor ecx, ecx
jmp 0x5e1b1b
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
mov eax, dword [esi + 8]
sub ebx, ecx
mov ecx, dword [esi + 0xc]
mov edi, eax
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jae 0x5e1be2
mov ecx, esi
call fcn.004f6860
cmp ebx, eax
jae 0x5e1b48
mov ecx, esi
call fcn.004f6860
mov ebp, eax
jmp 0x5e1b4a
mov ebp, ebx
mov ecx, esi
call fcn.004f6860
add eax, ebp
mov dword [esp + 0x2c], eax
jns 0x5e1b5b
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00652710
add esp, 4
mov ebp, eax
mov eax, dword [esi + 4]
mov ecx, esi
push ebp
push edi
push eax
call fcn.00435ef0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
push ecx
push ebx
push eax
mov ecx, esi
call fcn.00435f20
mov edx, dword [esp + 0x28]
mov ecx, dword [esi + 8]
lea eax, [edx + ebx*4]
push eax
push ecx
push edi
mov ecx, esi
call fcn.00435ef0
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
push edx
push eax
mov ecx, esi
call fcn.004d1a20
mov ecx, dword [esi + 4]
push ecx
call fcn.00652870
mov edx, dword [esp + 0x30]
add esp, 4
mov ecx, esi
lea eax, [ebp + edx*4]
mov dword [esi + 0xc], eax
call fcn.004f6860
add eax, ebx
mov dword [esi + 4], ebp
lea ecx, [ebp + eax*4]
mov eax, dword [esp + 0x10]
mov dword [esi + 8], ecx
jmp 0x5e1cc5
mov edx, eax
sub edx, edi
sar edx, 2
cmp edx, ebx
jae 0x5e1c43
lea ebp, [ebx*4]
lea ecx, [edi + ebp]
push ecx
push eax
push edi
mov ecx, esi
call fcn.00435ef0
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x30]
mov ecx, eax
push edx
sub ecx, edi
sar ecx, 2
sub ebx, ecx
mov ecx, esi
push ebx
push eax
call fcn.00435f20
mov eax, dword [esi + 8]
cmp edi, eax
je 0x5e1c32
mov edx, dword [esp + 0x30]
add edi, 4
cmp edi, eax
mov ecx, dword [edx]
mov dword [edi - 4], ecx
jne 0x5e1c22
mov eax, dword [esi + 8]
add eax, ebp
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
jmp 0x5e1cc5
test ebx, ebx
jbe 0x5e1cc3
shl ebx, 2
push eax
push eax
sub eax, ebx
mov ecx, esi
push eax
call fcn.00435ef0
mov ecx, dword [esi + 8]
mov eax, ecx
sub eax, ebx
cmp edi, eax
je 0x5e1c70
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x5e1c61
lea eax, [ebx + edi]
cmp edi, eax
je 0x5e1c86
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [edi], edx
add edi, 4
cmp edi, eax
jne 0x5e1c7b
add dword [esi + 8], ebx
jmp 0x5e1cc3
test eax, eax
je 0x5e1cc3
mov ecx, dword [esi + 8]
mov edx, ecx
sub edx, eax
sar edx, 2
cmp ebx, edx
jae 0x5e1cc3
lea edi, [eax + ebx*4]
mov eax, ecx
cmp eax, ecx
je 0x5e1cb4
mov edx, dword [eax]
add eax, 4
mov dword [edi], edx
add edi, 4
cmp eax, ecx
jne 0x5e1ca6
mov eax, dword [esi + 8]
mov ecx, esi
push eax
push edi
call fcn.004d1a20
mov dword [esi + 8], edi
mov eax, ebp
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10