Function at 0x10209910
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029a9ee
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x1058ac14]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [ebp - 4], 0
cmp dword [ebx + 0x30], 0
jne 0x10209963
mov eax, dword [edx + 0x20]
mov edi, dword [edx + 0x1c]
inc eax
mov dword [ebp - 0x24], 1
jmp 0x10209970
mov eax, dword [edx + 0x1c]
mov edi, dword [edx + 0x20]
dec eax
or ecx, 0xffffffff
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
cmp edi, eax
je 0x10209b1e
mov eax, dword [ebx + 0x5c]
mov ecx, edi
sub ecx, dword [ebx + 0x3c]
lea ecx, [eax + ecx*4]
mov eax, dword [edx + 4]
add eax, dword [ecx]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x1c], eax
mov ebx, dword [esi + 8]
mov eax, 0x92492493
mov ecx, dword [ebx + 0x70]
mov esi, dword [ebx + 0x6c]
sub ecx, esi
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x1c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x10209afc
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esi + eax*4 + 0x14]
lea ebx, [esi + eax*4]
mov dword [ebp - 0x18], ebx
test edi, edi
js 0x102099dc
mov eax, edi
cdq
idiv ecx
mov edx, eax
jmp 0x102099f2
mov eax, ecx
test ecx, ecx
js 0x102099e7
sub eax, edi
dec eax
jmp 0x102099eb
not eax
sub eax, edi
cdq
idiv ecx
mov edx, eax
neg edx
imul edx, ecx
mov eax, edi
sub eax, edx
jne 0x10209af1
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx + 0x10]
mov ebx, dword [eax + 8]
mov edx, dword [ebx + 0x34]
test edx, edx
js 0x10209a18
mov eax, edx
cdq
idiv esi
mov ebx, eax
jmp 0x10209a30
test esi, esi
js 0x10209a23
mov eax, esi
sub eax, edx
dec eax
jmp 0x10209a29
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 0x10209a46
mov eax, edx
cdq
idiv esi
mov esi, eax
jmp 0x10209a5e
test esi, esi
js 0x10209a51
mov eax, esi
sub eax, edx
dec eax
jmp 0x10209a57
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 0x10209a8a
sub esi, ebx
inc esi
push esi
push dword [eax]
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 8]
push dword [eax + 0x68]
lea eax, [ebp - 0x20]
push eax
call fcn.10223cd0
add esp, 0x10
inc dword [ebp - 0x1c]
jmp 0x10209993
test edi, edi
js 0x10209a95
mov eax, edi
cdq
idiv ecx
jmp 0x10209aa9
mov eax, ecx
test ecx, ecx
js 0x10209aa0
sub eax, edi
dec eax
jmp 0x10209aa4
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
mov esi, dword [ebp - 0x14]
mov ebx, dword [esi + 8]
add eax, ecx
mov ecx, dword [ebp - 0x18]
push dword [ecx]
push dword [ebx + 0x68]
push edx
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10223410
add esp, 0x18
inc dword [ebp - 0x1c]
jmp 0x10209993
mov esi, dword [ebp - 0x14]
inc dword [ebp - 0x1c]
jmp 0x10209993
mov esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x10], eax
jae 0x10209b13
mov dword [edx + 0x10], eax
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xc]
add edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
jmp 0x10209973
cmp edi, dword [edx + 0x14]
jl 0x10209b28
cmp edi, dword [edx + 0x18]
jle 0x10209b73
mov eax, dword [edx + 4]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x10]
sub eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x24]
test ecx, ecx
je 0x10209b6c
mov eax, dword [ecx]
lea edi, [ebp - 0x2c]
push edi
push dword [edx + 0x14]
push dword [edx + 0xc]
push dword [edx + 8]
call dword [eax + 0xc]
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + 0xc]
cmp eax, edx
jge 0x10209b85
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [esi + 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 [esi + 8]
cmp dword [eax + 0x68], 0
jne 0x10209b6c
push edx
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push ecx
push eax
call fcn.1020a8d0
add esp, 0x14
jmp 0x10209b6c