Function at 0x435420
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x486780
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x4a89e8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esi + 4]
test eax, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
jne 0x435216
xor edi, edi
jmp 0x43521e
mov edi, dword [esi + 0xc]
sub edi, eax
sar edi, 3
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x435412
test eax, eax
jne 0x435231
xor ecx, ecx
jmp 0x435239
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 3
mov ebx, 0x1fffffff
sub ebx, ecx
cmp ebx, edx
jae 0x435249
call fcn.00441050
test eax, eax
jne 0x435251
xor ecx, ecx
jmp 0x435259
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 3
add ecx, edx
cmp edi, ecx
jae 0x43535f
mov ecx, edi
shr ecx, 1
mov ebx, 0x1fffffff
sub ebx, ecx
cmp ebx, edi
jae 0x435276
xor edi, edi
jmp 0x435278
add edi, ecx
test eax, eax
jne 0x435280
xor ecx, ecx
jmp 0x435288
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 3
add ecx, edx
cmp edi, ecx
jae 0x4352a1
test eax, eax
jne 0x435296
xor ecx, ecx
jmp 0x43529e
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 3
lea edi, [ecx + edx]
push 0
push edi
call fcn.00434220
mov edx, dword [ebp + 0x10]
mov byte [ebp + 0x14], 0
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
mov ebx, eax
mov eax, dword [esi + 4]
push esi
push ebx
push ecx
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 0
call fcn.00434640
mov ecx, dword [ebp + 0x10]
add esp, 0x20
lea edx, [ebp - 0x1c]
push edx
push ecx
push eax
mov ecx, esi
call fcn.00434bb0
mov ecx, dword [esi + 8]
mov byte [ebp + 0x14], 0
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edx
push esi
push eax
mov eax, dword [ebp + 0xc]
push ecx
push eax
call fcn.00434640
mov ecx, dword [esi + 4]
add esp, 0x18
test ecx, ecx
jne 0x43530c
xor eax, eax
jmp 0x435314
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 3
add dword [ebp + 0x10], eax
test ecx, ecx
je 0x435324
push ecx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [ebp + 0x10]
lea ecx, [ebx + edi*8]
lea eax, [ebx + edx*8]
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov dword [esi + 4], ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [esi + 8]
mov edi, dword [ebp + 0xc]
mov eax, ebx
sub eax, edi
sar eax, 3
cmp eax, edx
jae 0x4353d6
lea eax, [edx*8]
mov dword [ebp + 0x14], eax
add eax, edi
push eax
push ebx
push edi
mov ecx, esi
call fcn.00435120
mov eax, dword [esi + 8]
mov edx, eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp + 0x10]
sub edx, edi
sar edx, 3
sub ecx, edx
push ecx
push eax
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.00434bb0
mov eax, dword [ebp + 0x14]
add dword [esi + 8], eax
mov esi, dword [esi + 8]
lea ecx, [ebp - 0x1c]
push ecx
sub esi, eax
push esi
push edi
call fcn.004346f0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [edx*8]
push ebx
mov eax, ebx
sub eax, ecx
push ebx
mov dword [ebp + 0x14], ecx
push eax
mov ecx, esi
mov dword [ebp + 0x10], eax
call fcn.00435120
mov edx, dword [ebp + 0x10]
push ebx
push edx
push edi
mov dword [esi + 8], eax
call fcn.00434a00
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x1c]
push eax
add ecx, edi
push ecx
push edi
call fcn.004346f0
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10