Function at 0x1008fa70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x68
push 0xffffffffffffffff
push 0x1023b740
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x102ca474]
xor eax, ebp
mov dword [ebp + 0x64], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp + 0x14], ebx
cmp byte [ebx + 0x3c], 0
jne 0x100905c0
mov byte [ebx + 0x3c], 1
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [ebx]
call fcn.10091390
mov eax, dword [ebx]
lea ecx, [ebp - 0x3c]
add esp, 4
mov dword [ebx + 4], eax
movzx eax, byte [ebx + 0x3d]
push eax
call fcn.100a60d0
mov esi, eax
mov dword [ebp - 4], 0
lea edi, [ebx + 0xc]
cmp edi, esi
je 0x1008faf2
push dword [ebp + 0x30]
mov ecx, edi
push dword [esi + 4]
push dword [esi]
call fcn.10091b40
lea eax, [esi + 0xc]
lea ecx, [edi + 0xc]
cmp ecx, eax
je 0x1008fb09
push dword [ebp + 0x30]
push dword [eax + 4]
push dword [eax]
call fcn.100918d0
lea eax, [esi + 0x18]
lea ecx, [edi + 0x18]
cmp ecx, eax
je 0x1008fb20
push dword [ebp + 0x30]
push dword [eax + 4]
push dword [eax]
call fcn.10091650
lea ecx, [esi + 0x24]
lea esi, [edi + 0x24]
cmp esi, ecx
je 0x1008fb44
call fcn.100087f5
mov edx, dword [eax]
call fcn.10005e30
push dword [ebp + 0x30]
mov ecx, esi
push edx
mov eax, dword [eax]
push eax
call fcn.1002a330
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x18]
call fcn.100086d1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
call fcn.10090b30
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x30]
call fcn.10090bb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.10090c30
push ebx
mov ecx, edi
call fcn.100a8530
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
cmp esi, eax
jne 0x1008fbb8
lea ecx, [ebp + 0x34]
call fcn.10099530
mov dword [ebp - 4], 6
push ebx
call fcn.100ab310
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x34]
call fcn.100995f0
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
cmp esi, eax
je 0x1008fbe3
lea eax, [esi + 0x7c]
mov ecx, edi
push eax
push esi
call fcn.100a8090
test al, al
jne 0x1008fbd8
push esi
lea eax, [ebp + 0x30]
mov ecx, ebx
push eax
call fcn.10090870
mov esi, dword [eax]
jmp 0x1008fbde
add esi, 0x94
cmp esi, dword [ebx + 4]
jne 0x1008fbb8
xorps xmm0, xmm0
mov dword [ebp + 0x54], 0
movq qword [ebp + 0x4c], xmm0
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x50], 0
mov dword [ebp + 0x54], 0
mov dword [ebp - 4], 8
movq qword [ebp + 0x58], xmm0
mov dword [ebp + 0x60], 0
mov dword [ebp + 0x58], 0
mov dword [ebp + 0x5c], 0
mov dword [ebp + 0x60], 0
mov byte [ebp - 4], 9
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x4c]
mov ecx, edi
push eax
call fcn.100a7ed0
mov ecx, dword [ebp + 0x50]
mov eax, 0x81848da9
mov edi, dword [ebp + 0x4c]
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp + 0x18], eax
mov eax, 0
mov dword [ebp + 0x34], eax
je 0x100902de
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov esi, dword [ecx]
imul ebx, eax, 0x3f4
add ebx, edi
mov dword [ebp + 0x44], ebx
cmp esi, dword [ecx + 4]
je 0x100902d2
nop word [eax + eax]
mov ecx, ebx
call fcn.10008710
mov ecx, esi
mov edi, eax
call fcn.10008710
cmp eax, edi
jne 0x100902b7
mov ecx, ebx
call fcn.10008714
mov ecx, esi
mov edi, eax
call fcn.10008714
mov edx, edi
mov ecx, eax
call fcn.10076d50
test al, al
je 0x100902b7
lea ecx, [ebx + 0x30]
call fcn.100086fc
test al, al
jne 0x1008fef5
lea ecx, [ebx + 0x30]
call fcn.10005e30
mov ebx, eax
mov edi, ebx
cmp dword [ebx + 0x14], 8
jb 0x1008fced
mov edi, dword [ebx]
push str.0.0.0.0
call fcn.10005f42
mov ebx, dword [ebx + 0x10]
add esp, 4
cmp ebx, eax
jne 0x1008fd28
mov edx, ebx
mov eax, str.0.0.0.0
test ebx, ebx
je 0x1008fef5
sub edi, eax
mov cx, word [edi + eax]
cmp cx, word [eax]
jne 0x1008fd28
add eax, 2
sub edx, 1
jne 0x1008fd12
jmp 0x1008fef5
mov ecx, dword [ebp + 0x44]
lea edi, [esi + 0x64]
add ecx, 0x30
call fcn.10005e30
cmp edi, eax
je 0x1008fef5
call fcn.10005e30
mov dword [ebp + 0x38], eax
cmp dword [eax + 0x14], 8
jb 0x1008fd51
mov eax, dword [eax]
mov dword [ebp + 0x38], eax
mov ecx, edi
call fcn.10005e30
mov edi, eax
mov dword [ebp + 0x40], edi
mov ecx, dword [edi + 0x14]
mov dword [ebp + 0x20], ecx
cmp ebx, ecx
ja 0x1008fda0
mov dword [ebp + 0x40], edi
cmp ecx, 8
jb 0x1008fd74
mov eax, dword [edi]
mov dword [ebp + 0x40], eax
push ebx
push dword [ebp + 0x38]
mov dword [edi + 0x10], ebx
push eax
call fcn.10005f10
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x3c], 0
push eax
mov eax, dword [ebp + 0x40]
lea eax, [eax + ebx*2]
push eax
call fcn.10005eff
add esp, 0x14
jmp 0x1008fef5
lea ecx, [esi + 0x64]
call fcn.1000608d
cmp ebx, eax
ja 0x100905e2
lea ecx, [esi + 0x64]
call fcn.1000608d
lea ecx, [esi + 0x64]
mov dword [ebp + 0x48], eax
call fcn.10005e30
mov edx, dword [ebp + 0x48]
mov ecx, ebx
or ecx, 7
mov dword [ebp + 0x3c], eax
mov dword [ebp + 4], ecx
cmp ecx, edx
ja 0x1008fe09
mov ecx, dword [eax + 0x14]
mov eax, edx
mov edi, dword [ebp + 0x3c]
shr ecx, 1
sub eax, ecx
cmp dword [edi + 0x14], eax
mov edi, dword [ebp + 0x40]
ja 0x1008fe06
mov edx, dword [ebp + 0x3c]
mov eax, dword [edx + 0x14]
add eax, ecx
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 4]
push eax
call fcn.10005ed6
add esp, 8
mov edx, dword [eax]
mov dword [ebp + 0x48], edx
lea eax, [edx + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x1008fe1b
or ecx, 0xffffffff
jmp 0x1008fe23
cmp ecx, 0x1000
jb 0x1008fe51
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.101e74f1
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100905dd
mov edx, dword [ebp + 0x48]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x1008fe65
test ecx, ecx
je 0x1008fe63
push ecx
call fcn.101e74f1
mov edx, dword [ebp + 0x48]
add esp, 4
jmp 0x1008fe65
xor eax, eax
mov dword [ebp + 0x2c], eax
push ebx
push dword [ebp + 0x38]
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], edx
mov edi, dword [ebp + 0x2c]
push edi
call fcn.10005f29
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x3c], 0
push eax
lea eax, [edi + ebx*2]
push eax
call fcn.10005eff
mov ecx, dword [ebp + 0x20]
add esp, 0x14
mov edi, dword [ebp + 0x40]
cmp ecx, 8
jb 0x1008fed5
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x1008fec4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100905dd
mov eax, edx
push ecx
push eax
call fcn.101e74c0
mov eax, dword [ebp + 0x2c]
add esp, 8
mov dword [edi], eax
jmp 0x1008fef5
push edi
call fcn.10005f6e
push eax
push 4
call fcn.10005b84
mov edi, eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10005f6e
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
or byte [esi + 0x60], 2
lea ebx, [esi + 0x30]
mov ecx, ebx
call fcn.100086fc
mov edi, dword [ebp + 0x44]
test al, al
je 0x100900dd
lea ecx, [edi + 0x78]
call fcn.10005e30
cmp ebx, eax
je 0x100900dd
call fcn.10005e30
mov dword [ebp + 0x40], eax
cmp dword [eax + 0x14], 8
jb 0x1008ff31
mov ecx, dword [eax]
mov dword [ebp + 0x40], ecx
mov edi, dword [eax + 0x10]
mov ecx, ebx
mov dword [ebp + 0x38], edi
call fcn.10005e30
mov ebx, eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp + 0x1c], ecx
cmp edi, ecx
ja 0x1008ff83
mov dword [ebp + 0x3c], ebx
cmp ecx, 8
jb 0x1008ff57
mov eax, dword [ebx]
mov dword [ebp + 0x3c], eax
push edi
push dword [ebp + 0x40]
mov dword [ebx + 0x10], edi
push eax
call fcn.10005f10
lea eax, [ebp + 0x20]
mov dword [ebp + 0x20], 0
push eax
mov eax, dword [ebp + 0x3c]
lea eax, [eax + edi*2]
push eax
call fcn.10005eff
add esp, 0x14
jmp 0x100900da
lea ecx, [esi + 0x30]
call fcn.1000608d
cmp edi, eax
ja 0x100905e2
lea ecx, [esi + 0x30]
call fcn.1000608d
lea ecx, [esi + 0x30]
mov dword [ebp + 0x48], eax
call fcn.10005e30
mov edx, dword [ebp + 0x48]
mov ecx, edi
or ecx, 7
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x10], ecx
cmp ecx, edx
ja 0x1008ffec
mov ecx, dword [eax + 0x14]
mov eax, edx
mov edi, dword [ebp + 0x3c]
shr ecx, 1
sub eax, ecx
cmp dword [edi + 0x14], eax
mov edi, dword [ebp + 0x38]
ja 0x1008ffe9
mov edx, dword [ebp + 0x3c]
mov eax, dword [edx + 0x14]
add eax, ecx
mov dword [ebp], eax
lea eax, [ebp]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.10005ed6
add esp, 8
mov edx, dword [eax]
mov dword [ebp + 0x48], edx
lea eax, [edx + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x1008fffe
or ecx, 0xffffffff
jmp 0x10090006
cmp ecx, 0x1000
jb 0x10090034
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.101e74f1
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100905dd
mov edx, dword [ebp + 0x48]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10090048
test ecx, ecx
je 0x10090046
push ecx
call fcn.101e74f1
mov edx, dword [ebp + 0x48]
add esp, 4
jmp 0x10090048
xor eax, eax
push dword [ebp + 0x38]
mov dword [ebp + 0x28], eax
push dword [ebp + 0x40]
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edx
mov edi, dword [ebp + 0x28]
push edi
call fcn.10005f29
lea eax, [ebp + 0x20]
mov dword [ebp + 0x20], 0
push eax
mov eax, dword [ebp + 0x38]
lea eax, [edi + eax*2]
push eax
call fcn.10005eff
mov ecx, dword [ebp + 0x1c]
add esp, 0x14
cmp ecx, 8
jb 0x100900ba
mov eax, dword [ebx]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x100900a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100905dd
mov eax, edx
push ecx
push eax
call fcn.101e74c0
mov eax, dword [ebp + 0x28]
add esp, 8
mov dword [ebx], eax
jmp 0x100900da
push ebx
call fcn.10005f6e
push eax
push 4
call fcn.10005b84
mov edi, eax
lea eax, [ebp + 0x28]
push eax
call fcn.10005f6e
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
mov edi, dword [ebp + 0x44]
lea ecx, [esi + 0x48]
call fcn.100086fc
test al, al
je 0x100902b4
cmp dword [edi + 0x2b8], 5
jne 0x100902b4
push 0x102832a4
call fcn.10005f42
add esp, 4
lea ecx, [esi + 0x48]
mov edi, eax
mov dword [ebp + 0x40], edi
call fcn.10005e30
mov ebx, eax
mov ecx, dword [ebx + 0x14]
mov dword [ebp + 0x20], ecx
cmp edi, ecx
ja 0x1009015b
mov dword [ebp + 0x3c], ebx
cmp ecx, 8
jb 0x1009012d
mov eax, dword [ebx]
mov dword [ebp + 0x3c], eax
push edi
push 0x102832a4
push eax
mov dword [ebx + 0x10], edi
call fcn.10005f10
lea eax, [ebp + 0x1c]
mov dword [ebp + 0x1c], 0
push eax
mov eax, dword [ebp + 0x3c]
lea eax, [eax + edi*2]
push eax
call fcn.10005eff
add esp, 0x14
jmp 0x100902b4
lea ecx, [esi + 0x48]
call fcn.1000608d
cmp edi, eax
ja 0x100905e2
lea ecx, [esi + 0x48]
call fcn.1000608d
lea ecx, [esi + 0x48]
mov dword [ebp + 0x48], eax
call fcn.10005e30
mov edx, dword [ebp + 0x48]
mov ecx, edi
or ecx, 7
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x30], ecx
cmp ecx, edx
ja 0x100901c4
mov ecx, dword [eax + 0x14]
mov eax, edx
mov edi, dword [ebp + 0x3c]
shr ecx, 1
sub eax, ecx
cmp dword [edi + 0x14], eax
mov edi, dword [ebp + 0x40]
ja 0x100901c1
mov edx, dword [ebp + 0x3c]
mov eax, dword [edx + 0x14]
add eax, ecx
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x30]
push eax
call fcn.10005ed6
add esp, 8
mov edx, dword [eax]
mov dword [ebp + 0x48], edx
lea eax, [edx + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x100901d6
or ecx, 0xffffffff
jmp 0x100901de
cmp ecx, 0x1000
jb 0x1009020c
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.101e74f1
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100905dd
mov edx, dword [ebp + 0x48]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10090220
test ecx, ecx
je 0x1009021e
push ecx
call fcn.101e74f1
mov edx, dword [ebp + 0x48]
add esp, 4
jmp 0x10090220
xor eax, eax
push dword [ebp + 0x40]
mov dword [ebp + 0x24], eax
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edx
mov edi, dword [ebp + 0x24]
push 0x102832a4
push edi
call fcn.10005f29
lea eax, [ebp + 0x1c]
mov dword [ebp + 0x1c], 0
push eax
mov eax, dword [ebp + 0x40]
lea eax, [edi + eax*2]
push eax
call fcn.10005eff
mov ecx, dword [ebp + 0x20]
add esp, 0x14
cmp ecx, 8
jb 0x10090294
mov eax, dword [ebx]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x10090283
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100905dd
mov eax, edx
push ecx
push eax
call fcn.101e74c0
mov eax, dword [ebp + 0x24]
add esp, 8
mov dword [ebx], eax
jmp 0x100902b4
push ebx
call fcn.10005f6e
push eax
push 4
call fcn.10005b84
mov edi, eax
lea eax, [ebp + 0x24]
push eax
call fcn.10005f6e
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
mov ebx, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x14]
add esi, 0x94
cmp esi, dword [ecx + 4]
jne 0x1008fc90
mov edi, dword [ebp + 0x4c]
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0x18]
inc eax
mov dword [ebp + 0x34], eax
cmp eax, edx
jb 0x1008fc74
mov ebx, dword [ebp + 0x5c]
mov eax, 0x92492493
mov edi, dword [ebp + 0x58]
mov ecx, ebx
sub ecx, edi
mov dword [ebp + 0x18], 0
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100905a5
xor ecx, ecx
mov dword [ebp + 0x38], ecx
nop dword [eax]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edi]
mov dword [ebp + 0x40], eax
mov esi, dword [edx]
cmp esi, dword [edx + 4]
je 0x10090575
lea ebx, [esi + 0x30]
mov ecx, eax
call fcn.10008710
mov ecx, esi
mov edi, eax
call fcn.10008710
cmp eax, edi
jne 0x10090551
mov ecx, dword [ebp + 0x40]
call fcn.10008714
mov ecx, esi
mov edi, eax
call fcn.10008714
mov edx, edi
mov ecx, eax
call fcn.10076d50
test al, al
je 0x10090551
or byte [ebx + 0x30], 4
mov ecx, ebx
call fcn.100086fc
test al, al
je 0x10090551
mov ecx, dword [ebp + 0x40]
add ecx, 0x18
call fcn.10005e30
cmp ebx, eax
je 0x10090551
call fcn.10005e30
mov dword [ebp + 0x24], eax
cmp dword [eax + 0x14], 8
jb 0x1009039a
mov ecx, dword [eax]
mov dword [ebp + 0x24], ecx
mov eax, dword [eax + 0x10]
mov ecx, ebx
mov dword [ebp + 0x44], eax
call fcn.10005e30
mov edi, eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x28], edi
mov edx, dword [edi + 0x14]
mov dword [ebp + 0x10], edx
cmp eax, edx
ja 0x100903f7
mov dword [ebp + 0x34], edi
mov ecx, edi
cmp edx, 8
jb 0x100903c8
mov ecx, dword [edi]
mov dword [ebp + 0x34], ecx
push eax
push dword [ebp + 0x24]
mov dword [edi + 0x10], eax
push ecx
call fcn.10005f10
mov ecx, dword [ebp + 0x44]
lea eax, [ebp + 0x30]
push eax
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x30], 0
lea eax, [eax + ecx*2]
push eax
call fcn.10005eff
add esp, 0x14
jmp 0x10090551
mov ecx, ebx
call fcn.1000608d
cmp dword [ebp + 0x44], eax
ja 0x100905e2
mov ecx, ebx
call fcn.1000608d
mov ecx, ebx
mov dword [ebp + 0x48], eax
call fcn.10005e30
mov ecx, dword [ebp + 0x44]
mov edx, dword [ebp + 0x48]
or ecx, 7
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
ja 0x1009045f
mov ecx, dword [eax + 0x14]
mov eax, edx
mov edi, dword [ebp + 0x34]
shr ecx, 1
sub eax, ecx
cmp dword [edi + 0x14], eax
mov edi, dword [ebp + 0x28]
ja 0x1009045c
mov edx, dword [ebp + 0x34]
mov eax, dword [edx + 0x14]
add eax, ecx
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.10005ed6
add esp, 8
mov edx, dword [eax]
mov dword [ebp + 0x48], edx
lea eax, [edx + 1]
lea ecx, [eax + eax]
cmp eax, 0x7fffffff
jbe 0x10090471
or ecx, 0xffffffff
jmp 0x10090479
cmp ecx, 0x1000
jb 0x100904a7
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.101e74f1
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100905dd
mov edx, dword [ebp + 0x48]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x100904bb
test ecx, ecx
je 0x100904b9
push ecx
call fcn.101e74f1
mov edx, dword [ebp + 0x48]
add esp, 4
jmp 0x100904bb
xor eax, eax
mov dword [ebp + 0x2c], eax
mov eax, dword [ebp + 0x44]
push eax
push dword [ebp + 0x24]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov edi, dword [ebp + 0x2c]
push edi
call fcn.10005f29
lea eax, [ebp + 0x30]
mov dword [ebp + 0x30], 0
push eax
mov eax, dword [ebp + 0x44]
lea eax, [edi + eax*2]
push eax
call fcn.10005eff
mov ecx, dword [ebp + 0x10]
add esp, 0x14
mov edi, dword [ebp + 0x28]
cmp ecx, 8
jb 0x10090531
mov eax, dword [edi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x10090520
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100905dd
mov eax, edx
push ecx
push eax
call fcn.101e74c0
mov eax, dword [ebp + 0x2c]
add esp, 8
mov dword [edi], eax
jmp 0x10090551
push edi
call fcn.10005f6e
push eax
push 4
call fcn.10005b84
mov edi, eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10005f6e
add esp, 0x10
mov ecx, dword [eax]
mov dword [edi], ecx
mov eax, dword [ebp + 0x14]
add esi, 0x94
add ebx, 0x94
cmp esi, dword [eax + 4]
mov eax, dword [ebp + 0x40]
jne 0x10090327
mov ebx, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp + 0x18]
add ecx, 0x38
mov dword [ebp + 0x38], ecx
mov eax, 0x92492493
mov ecx, ebx
inc esi
sub ecx, edi
mov dword [ebp + 0x18], esi
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x100905a5
mov ecx, dword [ebp + 0x38]
jmp 0x10090310
mov byte [ebp - 4], 8
lea ecx, [ebp + 0x58]
call fcn.10090bb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x4c]
call fcn.10090c30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x64]
xor ecx, ebp
call fcn.101e7040
lea esp, [ebp + 0x68]
pop ebp
ret
call fcn.102086be
call fcn.1000604b
int3