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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x604
mov eax, dword [0x102e5cc0]
xor eax, esp
mov dword [esp + 0x600], eax
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
mov eax, dword [ebp + 0x10]
push ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x14]
mov ebx, dword [edx + 0x4c]
push esi
mov dword [esp + 0x4c], eax
xor esi, esi
mov eax, dword [edx + 0x50]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x54], 0x1e01
mov dword [esp + 0x58], 0x1e01
movups xmmword [esp + 0x74], xmm0
push edi
movaps xmm0, xmmword [0x102a6d20]
movups xmmword [esp + 0x88], xmm0
test eax, eax
jle 0x10179f4d
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0xa4]
lea edi, [edx + 0x134]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], 0x1017aaf0
nop dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + esi*4 + 0x48], 0
test ebx, ebx
jle 0x1017943d
cmp dword [edx + 0x34], 0
mov eax, 0x1017a700
mov edx, 0x1017a980
mov dword [esp + 0x3c], ebx
cmovl eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x78]
sub ecx, eax
lea eax, [esi*8]
mov dword [esp + 0x1c], ecx
mov ebx, eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x78]
mov dword [edx + 4], edi
add eax, ebx
mov dword [esp + ebx + 0x88], 0
lea edx, [edx + 0x24]
mov ecx, dword [eax + ecx]
add dword [esp + 0x18], ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + esi*4 + 0x48], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [edx - 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [edx - 0x24], eax
mov eax, 0x1017c210
mov dword [edx - 0x28], ecx
cmp dword [edi + 0x12b4], 2
cmovne eax, dword [esp + 0x28]
add ecx, 0x900
add ebx, 4
mov dword [edx - 0x30], eax
add edi, 0x1484
mov dword [esp + 0x2c], ecx
sub dword [esp + 0x3c], 1
mov ecx, dword [esp + 0x1c]
jne 0x101793b5
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
inc esi
add eax, 0x1200
add ecx, 0x48
mov dword [ebp + 0xc], eax
add edi, 0x2908
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], edi
cmp esi, dword [esp + 0x30]
jl 0x10179360
mov ecx, dword [esp + 0x50]
lea esi, [esp + 0x98]
xor eax, eax
mov dword [esp + 0x28], ecx
xor edi, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], esi
xor edx, edx
mov dword [esp + 0x10], edx
test ebx, ebx
jle 0x10179525
mov dword [esp + 0x1c], esi
mov eax, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x3c], edi
nop dword [eax]
cmp dword [ecx], 0
jle 0x101794f5
lea esi, [esp + 0x398]
add esi, eax
lea edi, [esp + 0x128]
add edi, eax
add eax, dword [esp + 0x14]
push esi
push edi
push eax
push dword [esp + 0x28]
call fcn.10179fb0
push eax
push esi
mov esi, dword [esp + 0x34]
push edi
push esi
mov eax, dword [esi]
call eax
push dword [esi + 0x10]
push dword [esi + 0xc]
call fcn.10172c10
add esp, 0x28
test eax, eax
jne 0x10179f7d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
inc edx
add ecx, 4
add esi, 0x24
mov dword [esp + 0x10], edx
add eax, 0x9c
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], eax
cmp edx, ebx
jl 0x101794a0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
inc eax
add esi, 0x48
add ecx, 8
mov dword [esp + 0x20], eax
add edi, 0x138
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
cmp eax, dword [esp + 0x30]
jl 0x10179480
mov ecx, dword [esp + 0x40]
lea esi, [esp + 0xa8]
xor eax, eax
mov dword [esp + 0x1c], 0
lea edi, [esp + 0x88]
mov dword [esp + 0x24], eax
add ecx, 0x13d4
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ecx
nop
xor edx, edx
mov dword [esp + eax*4 + 0x58], edx
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
test ebx, ebx
jle 0x10179681
mov edx, dword [esp + 0x50]
lea ebx, [esp + 0x88]
mov ecx, edi
sub edx, ebx
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
jmp 0x101795c4
mov edx, dword [esp + 0x34]
cmp dword [edx + ecx], 0
jle 0x10179602
mov eax, dword [esi]
push 0x900
add eax, 0x900
push 0
push eax
call fcn.1010f560
lea eax, [esi - 0x10]
push eax
call fcn.1017b680
push 0
push dword [esi]
push dword [esi - 4]
call fcn.10172360
mov ecx, dword [esi]
add esp, 0x1c
mov dword [ecx + 0x12a0], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
lea ecx, [edx + 0x134]
push ecx
push eax
push dword [esp + 0x2c]
push edx
call fcn.10171790
mov ecx, dword [esp + 0x50]
add esp, 0x10
cmp dword [ecx + 0x28], 1
jne 0x10179635
lea eax, [edi - 0x12a0]
push eax
push ecx
call fcn.10171390
add esp, 8
mov ecx, dword [esp + 0x2c]
add esi, 0x24
mov eax, dword [edi]
add eax, dword [edi + 0x4c]
add edi, 0x1484
mov edx, dword [esp + 0x10]
add edx, eax
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
add ecx, 4
inc eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
cmp eax, ebx
jl 0x101795c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esp + eax*4 + 0x58], edx
jmp 0x10179685
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], edx
inc eax
mov edx, dword [esp + 0x30]
add edi, 8
add esi, 0x48
mov dword [esp + 0x24], eax
add ecx, 0x2908
mov dword [esp + 0x3c], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], ecx
cmp eax, edx
jl 0x10179580
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp eax, edi
jg 0x10179734
xor edi, edi
mov ecx, 1
test edx, edx
jle 0x10179f68
lea edx, [esp + 0x88]
mov dword [esp + 0x10], edx
nop dword [eax + eax]
xor eax, eax
cmp dword [esp + edi*4 + 0x58], 0x1e00
cmovle eax, ecx
mov ecx, eax
test ebx, ebx
jle 0x1017971a
mov eax, edx
mov esi, ecx
mov edx, ebx
nop dword [eax]
xor ecx, ecx
lea eax, [eax + 4]
cmp dword [eax - 4], 0xfff
cmovle ecx, esi
mov esi, ecx
sub edx, 1
jne 0x10179700
mov edx, dword [esp + 0x10]
inc edi
add edx, 8
mov dword [esp + 0x10], edx
cmp edi, dword [esp + 0x30]
jl 0x101796e0
test ecx, ecx
jne 0x10179f64
mov edi, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x1c], 1
xor edx, edx
mov dword [esp + 0x14], eax
xorps xmm0, xmm0
mov dword [esp + 0x20], edx
cmp dword [esp + 0x30], eax
jle 0x101799b4
lea esi, [esp + 0x48]
mov dword [esp + 0x24], esi
nop dword [eax]
xor ecx, ecx
mov dword [esi], ecx
test ebx, ebx
jle 0x10179994
mov edi, ebx
lea edx, [eax*8]
mov ebx, dword [esp + 0x24]
nop dword [eax]
mov eax, dword [esp + edx + 0x88]
lea edx, [edx + 4]
cmp eax, 0xfff
mov esi, 0xfff
cmovg eax, esi
mov esi, dword [esp + 0x18]
add ecx, eax
mov dword [esp + edx + 0x74], eax
mov dword [esp + 0x34], esi
mov eax, ecx
mov dword [ebx], ecx
mov dword [esp + 0x18], esi
sub edi, 1
jne 0x10179780
mov ebx, dword [esp + 0x44]
mov edi, esi
cmp eax, 0x1e00
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x14]
jle 0x10179a02
lea edi, [esp + 0x78]
mov dword [esp + 0x60], 0
movaps xmm2, xmm0
mov dword [esp + 0x64], 0
lea edi, [edi + eax*8]
movss dword [esp + 0x10], xmm2
mov eax, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x18], eax
mov eax, dword [edi]
test eax, eax
jle 0x10179846
movd xmm0, eax
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10179812
sqrtsd xmm0, xmm0
jmp 0x10179817
call fcn.101165b0
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10179826
sqrtsd xmm0, xmm0
jmp 0x1017982b
call fcn.101165b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x10], xmm2
jmp 0x10179849
movaps xmm1, xmm0
movss dword [esp + esi*4 + 0x60], xmm1
add edi, 4
inc esi
cmp esi, ebx
jl 0x101797f5
xor ecx, ecx
comiss xmm2, xmm0
jbe 0x10179897
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x78]
movss xmm1, dword [0x102a6cf4]
lea edx, [edx + eax*8]
movss xmm0, dword [esp + ecx*4 + 0x60]
lea edx, [edx + 4]
mulss xmm0, xmm1
inc ecx
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [edx - 4], eax
cmp ecx, ebx
jl 0x10179871
mov edx, dword [esp + 0x14]
xorps xmm0, xmm0
jmp 0x101798b0
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x78]
xor eax, eax
mov ecx, ebx
lea edi, [edi + edx*8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
cmp ebx, 1
jle 0x10179967
lea ecx, [edx*8]
lea ebx, [esp + 0x88]
add ebx, ecx
lea edi, [esp + 0x78]
add edi, ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], edi
mov esi, dword [ebx]
mov eax, dword [edi]
lea edx, [esi + 0x20]
cmp eax, edx
jle 0x101798ef
sub eax, esi
mov dword [edi], edx
sub eax, 0x20
add dword [esp + ecx + 0x7c], eax
mov eax, edx
mov edi, dword [esp + 0x38]
lea esi, [esp + 0x78]
mov edx, dword [ecx + esi + 4]
mov esi, dword [esp + 0x28]
mov ebx, dword [esi + 4]
lea esi, [esp + 0x78]
add ebx, 0x20
cmp edx, ebx
mov ebx, dword [esp + 0x44]
jle 0x10179942
mov edi, dword [esp + 0x28]
mov ebx, dword [edi + 4]
sub edx, ebx
mov edi, dword [esp + 0x38]
add edx, 0xffffffe0
add eax, edx
lea edx, [ebx + 0x20]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x28]
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov edx, dword [esp + 0x34]
add ebx, 0x20
mov dword [ecx + esi + 4], ebx
mov ebx, dword [esp + 0x44]
cmp eax, 0xfff
jle 0x1017994f
mov dword [edi], 0xfff
cmp edx, 0xfff
jle 0x10179967
mov dword [ecx + esi + 4], 0xfff
xor ecx, ecx
mov esi, dword [esp + 0x24]
jmp 0x1017996f
mov esi, dword [esp + 0x24]
xor ecx, ecx
mov dword [esi], ecx
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x78]
lea eax, [edx + eax*8]
mov edx, ebx
nop dword [eax]
add ecx, dword [eax]
lea eax, [eax + 4]
sub edx, 1
jne 0x10179980
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [esi], ecx
mov edi, dword [esp + 0x18]
inc eax
add edx, ecx
add esi, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], esi
cmp eax, dword [esp + 0x30]
jl 0x10179760
cmp edx, edi
mov edx, dword [esp + 0x30]
jle 0x10179c84
movaps xmm2, xmm0
mov dword [esp + 0x68], 0
xor esi, esi
mov dword [esp + 0x6c], 0
movss dword [esp + 0x10], xmm2
test edx, edx
jle 0x10179a81
mov eax, dword [esp + esi*4 + 0x48]
test eax, eax
jle 0x10179a30
movd xmm0, eax
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10179a0c
sqrtsd xmm0, xmm0
jmp 0x10179a11
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x10179998
call fcn.101165b0
mov edx, dword [esp + 0x30]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x10], xmm2
jmp 0x10179a33
movaps xmm1, xmm0
movss dword [esp + esi*4 + 0x68], xmm1
inc esi
cmp esi, edx
jl 0x101799e3
xor ecx, ecx
comiss xmm2, xmm0
jbe 0x10179a6f
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x18], edi
movaps xmm0, xmm1
mulss xmm0, dword [esp + ecx*4 + 0x68]
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, edx
jl 0x10179a50
xorps xmm0, xmm0
jmp 0x10179a81
xor eax, eax
lea edi, [esp + 0x48]
mov ecx, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
cmp edx, 1
jle 0x10179aef
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
lea edx, [eax + 0x7d]
cmp ecx, edx
jle 0x10179aac
sub ecx, eax
mov eax, dword [esp + 0x4c]
add eax, 0xffffff83
add eax, ecx
mov ecx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
jmp 0x10179ab0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
lea esi, [edx + 0x7d]
cmp eax, esi
jle 0x10179aca
sub eax, edx
mov dword [esp + 0x4c], esi
add eax, 0xffffff83
add eax, ecx
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x30]
xor eax, eax
cmp dword [esp + eax*4 + 0x48], 0x1e00
jle 0x10179ae2
mov dword [esp + eax*4 + 0x48], 0x1e00
inc eax
cmp eax, edx
jl 0x10179ad0
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x10179b00
xor edi, edi
mov dword [esp + 0x14], edi
test edx, edx
jle 0x10179c84
nop dword [eax]
movaps xmm2, xmm0
mov dword [esp + 0x70], 0
xor esi, esi
mov dword [esp + 0x74], 0
movss dword [esp + 0x10], xmm2
test ebx, ebx
jle 0x10179bdc
lea edi, [esp + edi*8 + 0x78]
mov eax, dword [edi]
test eax, eax
jle 0x10179b64
movd xmm0, eax
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10179b44
sqrtsd xmm0, xmm0
jmp 0x10179b49
call fcn.101165b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x10], xmm2
jmp 0x10179b67
movaps xmm1, xmm0
movss dword [esp + esi*4 + 0x70], xmm1
add edi, 4
inc esi
cmp esi, ebx
jl 0x10179b27
xor ecx, ecx
comiss xmm2, xmm0
jbe 0x10179bc1
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x78]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x18], esi
movd xmm1, dword [esp + edi*4 + 0x48]
lea edx, [edx + edi*8]
cvtdq2ps xmm1, xmm1
nop dword [eax + eax]
movaps xmm0, xmm1
lea edx, [edx + 4]
mulss xmm0, dword [esp + ecx*4 + 0x70]
inc ecx
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [edx - 4], eax
cmp ecx, ebx
jl 0x10179ba0
xorps xmm0, xmm0
jmp 0x10179bdc
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x78]
xor eax, eax
mov ecx, ebx
lea edi, [edi + edx*8]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
mov edi, edx
mov dword [esp + 0x18], eax
cmp ebx, 1
jle 0x10179c6b
lea edx, [edi*8]
lea eax, [esp + 0x88]
add eax, edx
lea ecx, [esp + 0x78]
add ecx, edx
mov dword [esp + 0x10], eax
mov edi, dword [eax]
mov eax, dword [ecx]
lea esi, [edi + 0x20]
cmp eax, esi
jle 0x10179c17
sub eax, edi
mov dword [ecx], esi
sub eax, 0x20
add dword [esp + edx + 0x7c], eax
mov eax, esi
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x78]
mov esi, dword [edx + esi + 4]
mov edi, dword [edi + 4]
add edi, 0x20
mov dword [esp + 0x34], edi
cmp esi, edi
mov edi, dword [esp + 0x14]
jle 0x10179c53
mov ebx, dword [esp + 0x10]
sub esi, dword [ebx + 4]
mov ebx, dword [esp + 0x44]
add esi, 0xffffffe0
add eax, esi
mov esi, dword [esp + 0x34]
mov dword [ecx], eax
lea eax, [esp + 0x78]
mov dword [edx + eax + 4], esi
mov eax, ebx
cmp dword [ecx], 0xfff
jle 0x10179c63
mov dword [ecx], 0xfff
add ecx, 4
sub eax, 1
jne 0x10179c55
mov edx, dword [esp + 0x30]
inc edi
mov dword [esp + 0x14], edi
cmp edi, edx
jl 0x10179b00
xor ecx, ecx
mov dword [esp + 0x20], ecx
jmp 0x10179c8e
xor ecx, ecx
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x10179d0b
lea eax, [esp + 0x78]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], eax
nop word [eax + eax]
xor esi, esi
test ebx, ebx
jle 0x10179cd8
mov edi, ebx
mov edx, eax
mov ebx, dword [esp + 0x1c]
nop
add esi, dword [edx]
lea edx, [edx + 4]
xor ecx, ecx
cmp dword [edx - 4], 0xfff
cmovle ecx, ebx
mov ebx, ecx
sub edi, 1
jne 0x10179cb0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x44]
xor eax, eax
add ecx, esi
cmp esi, 0x1e00
mov dword [esp + 0x20], ecx
cmovle eax, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x1c], esi
sub edx, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], edx
jne 0x10179ca0
mov edx, dword [esp + 0x30]
jmp 0x10179d10
mov esi, 1
xor eax, eax
cmp ecx, dword [esp + 0x18]
cmovle eax, esi
test eax, eax
jne 0x10179d48
test edx, edx
jle 0x10179d48
mov eax, dword [esp + 0x50]
lea edi, [esp + 0x78]
sub edi, eax
mov dword [esp + 0x34], edi
nop
test ebx, ebx
jle 0x10179d40
add edi, eax
mov ecx, ebx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x34]
add eax, 8
sub edx, 1
jne 0x10179d30
test ebx, ebx
jle 0x10179d65
mov edi, dword [esp + 0x40]
mov ecx, ebx
and ecx, 0xfffffff
add edi, 0x5354
shl ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
test eax, eax
jle 0x10179f2c
mov edi, dword [esp + 0x40]
mov esi, eax
lea edx, [edi + 0x13e4]
nop dword [eax]
test ebx, ebx
jle 0x10179da1
mov eax, edx
mov ecx, ebx
nop dword [eax + eax]
mov dword [eax], 0
lea eax, [eax + 0x1484]
sub ecx, 1
jne 0x10179d90
add edx, 0x2908
sub esi, 1
jne 0x10179d80
lea eax, [esp + 0x98]
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], eax
xor edx, edx
lea eax, [edi + 0x13d4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
test ebx, ebx
jle 0x10179f00
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
shl ecx, 3
mov dword [esp + 0x38], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ecx
nop
mov ebx, dword [esp + 0x50]
cmp dword [ecx + ebx], 0
mov ebx, dword [esp + 0x44]
jle 0x10179e7d
mov eax, dword [edx + 0x10]
mov esi, 0x27
lea edx, [esp + 0x128]
add edx, dword [esp + 0x28]
mov edi, dword [eax + 0x12ac]
cmp dword [edx], edi
mov ecx, edi
cmovl ecx, dword [edx]
lea edx, [edx + 4]
mov dword [edx - 4], ecx
sub esi, 1
jne 0x10179e37
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push dword [esp + eax + 0x78]
lea eax, [esp + 0x39c]
add eax, edi
push eax
lea eax, [esp + 0x130]
add eax, edi
push eax
push dword [esp + 0x44]
call fcn.1017b380
mov esi, dword [esp + 0x64]
add esp, 0x10
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
lea ecx, [edx + 0x134]
push ecx
push eax
push dword [esp + 0x24]
push edx
call fcn.10171790
mov ecx, dword [esp + 0x50]
add esp, 0x10
cmp dword [ecx + 0x28], 1
jne 0x10179eb0
lea eax, [esi - 0x12a0]
push eax
push ecx
call fcn.10171390
add esp, 8
mov eax, dword [esi + 0x4c]
add edi, 0x9c
add eax, dword [esi]
add esi, 0x1484
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x24]
add edx, 0x24
add ecx, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x24], ecx
cmp eax, ebx
jl 0x10179e10
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
add dword [esp + 0x3c], 0x48
inc edx
add dword [esp + 0x2c], 0x2908
add esi, ecx
add dword [esp + 0x10], 0x138
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edx
cmp edx, dword [esp + 0x30]
jl 0x10179dd7
jmp 0x10179f2e
xor esi, esi
mov eax, dword [esp + 0x18]
cmp esi, eax
jg 0x10179f94
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x600]
xor ecx, esp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x600]
xor ecx, esp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret
push str.INTERNAL_ERROR_IN_VBR_NEW_CODE__986___please_send_bug_report_n
push dword [esi + 0xc]
call fcn.10164310
add esp, 8
push 0xffffffffffffffff
call fcn.10123d71
push esi
push eax
push str.INTERNAL_ERROR_IN_VBR_NEW_CODE__1313___please_send_bug_report_nmaxbits_d_usedbits_d_n
push dword [esp + 0x4c]
call fcn.10164310
add esp, 0x10
push 0xffffffffffffffff
call fcn.10123d71
int3