Function at 0x10202880
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029a127
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x10597da4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebx + 8]
mov dword [ebp - 4], 0
cmp dword [eax + 0x30], 0
mov eax, dword [ebx + 0xc]
jne 0x102028d3
mov edi, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
inc eax
mov dword [ebp - 0x24], 1
jmp 0x102028e0
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
dec eax
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
cmp edi, eax
je 0x10202a87
mov eax, dword [ebx + 0xc]
mov ecx, edi
mov edx, dword [eax + 4]
mov eax, dword [ebx + 8]
sub ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x5c]
mov eax, dword [eax + ecx*4]
add eax, edx
xor esi, esi
mov dword [ebp - 0x20], eax
mov ebx, dword [ebx + 8]
mov eax, 0x92492493
mov dword [ebp - 0x1c], esi
mov ecx, dword [ebx + 0x70]
sub ecx, dword [ebx + 0x6c]
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x10202a6b
mov eax, dword [ebx + 0x6c]
lea ecx, [esi*8]
sub ecx, esi
lea ebx, [eax + ecx*4]
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x18], ebx
test edi, edi
js 0x1020294f
mov eax, edi
cdq
idiv ecx
mov edx, eax
jmp 0x10202965
mov eax, ecx
test ecx, ecx
js 0x1020295a
sub eax, edi
dec eax
jmp 0x1020295e
not eax
sub eax, edi
cdq
idiv ecx
mov edx, eax
neg edx
imul edx, ecx
mov eax, edi
sub eax, edx
jne 0x10202a62
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx + 0x10]
mov ebx, dword [eax + 8]
mov edx, dword [ebx + 0x34]
test edx, edx
js 0x1020298b
mov eax, edx
cdq
idiv esi
mov ebx, eax
jmp 0x102029a3
test esi, esi
js 0x10202996
mov eax, esi
sub eax, edx
dec eax
jmp 0x1020299c
not edx
sub edx, esi
mov eax, edx
cdq
idiv esi
mov ebx, eax
neg ebx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 8]
mov edx, dword [eax + 0x38]
test edx, edx
js 0x102029bb
mov eax, edx
cdq
idiv esi
test esi, esi
mov esi, eax
jmp 0x102029d3
test esi, esi
js 0x102029c6
mov eax, esi
sub eax, edx
dec eax
jmp 0x102029cc
not edx
sub edx, esi
mov eax, edx
cdq
idiv esi
mov esi, eax
neg esi
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x18], 0
je 0x10202a00
sub esi, ebx
mov ebx, dword [ebp - 0x14]
inc esi
push esi
push dword [eax]
mov eax, dword [ebx + 8]
push dword [eax + 0x68]
lea eax, [ebp - 0x20]
push eax
call fcn.1021d020
mov esi, dword [ebp - 0x1c]
add esp, 0x10
inc esi
jmp 0x10202906
test edi, edi
js 0x10202a0b
mov eax, edi
cdq
idiv ecx
jmp 0x10202a1f
mov eax, ecx
test ecx, ecx
js 0x10202a16
sub eax, edi
dec eax
jmp 0x10202a1a
not eax
sub eax, edi
cdq
idiv ecx
neg eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0xc]
imul ecx, eax
add ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov eax, edx
imul eax, ebx
add eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, edx
imul eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x18]
push dword [ecx]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ecx + 8]
push dword [ebx + 0x68]
push edx
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.1021c730
mov esi, dword [ebp - 0x1c]
add esp, 0x18
mov ebx, dword [ebp - 0x14]
inc esi
jmp 0x10202906
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0xc]
cmp dword [eax + 0x10], ecx
jae 0x10202a7c
mov dword [eax + 0x10], ecx
add edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
jmp 0x102028e3
mov ecx, dword [ebx + 0xc]
cmp edi, dword [ecx + 0x14]
jl 0x10202a94
cmp edi, dword [ecx + 0x18]
jle 0x10202adf
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [edx + 0x24]
test ecx, ecx
je 0x10202ad8
mov eax, dword [ecx]
lea esi, [ebp - 0x2c]
push esi
push dword [edx + 0x14]
push dword [edx + 0xc]
push dword [edx + 8]
call dword [eax + 0xc]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + 0xc]
cmp eax, edx
jge 0x10202af1
mov dword [ecx + 0xc], eax
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0xc]
mov byte [eax + 0x28], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
cmp dword [eax + 0x68], 0
jne 0x10202ad8
push edx
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push ecx
push eax
call fcn.10203810
add esp, 0x14
jmp 0x10202ad8