Function at 0x55a240
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x701ca3
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.005c83d0
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 4]
imul ebx, edi
test eax, eax
jne 0x55a2ab
xor ecx, ecx
jmp 0x55a2b3
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jae 0x55a45b
test eax, eax
jne 0x55a2c3
xor ecx, ecx
jmp 0x55a2cb
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 0x55a3a2
mov ecx, esi
call fcn.004f6860
cmp ebx, eax
jae 0x55a2f8
mov ecx, esi
call fcn.004f6860
mov ebp, eax
jmp 0x55a2fa
mov ebp, ebx
mov ecx, esi
call fcn.004f6860
add eax, ebp
mov dword [esp + 0x2c], eax
jns 0x55a30b
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
pop edi
lea ecx, [ebp + eax*4]
mov eax, dword [esp + 0xc]
mov dword [esi + 8], ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10
mov edx, eax
sub edx, edi
sar edx, 2
cmp edx, ebx
jae 0x55a413
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 0x55a3f2
mov edx, dword [esp + 0x30]
add edi, 4
cmp edi, eax
mov ecx, dword [edx]
mov dword [edi - 4], ecx
jne 0x55a3e2
mov eax, dword [esi + 8]
pop edi
add eax, ebp
mov dword [esi + 8], eax
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10
test ebx, ebx
jbe 0x55a493
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 0x55a440
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x55a431
lea eax, [ebx + edi]
cmp edi, eax
je 0x55a456
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [edi], edx
add edi, 4
cmp edi, eax
jne 0x55a44b
add dword [esi + 8], ebx
jmp 0x55a493
test eax, eax
je 0x55a493
mov ecx, dword [esi + 8]
mov edx, ecx
sub edx, eax
sar edx, 2
cmp ebx, edx
jae 0x55a493
lea edi, [eax + ebx*4]
mov eax, ecx
cmp eax, ecx
je 0x55a484
mov edx, dword [eax]
add eax, 4
mov dword [edi], edx
add edi, 4
cmp eax, ecx
jne 0x55a476
mov eax, dword [esi + 8]
mov ecx, esi
push eax
push edi
call fcn.004d1a20
mov dword [esi + 8], edi
mov ecx, dword [esp + 0x14]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x10