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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x1e94008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov eax, edx
mov dword [ebp - 0xa0], eax
mov edx, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x74], 0xf
mov ecx, dword [ebx + 0x14]
xorps xmm0, xmm0
mov dword [ebp - 0x64], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x84], ecx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x4c], ecx
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x11c], ecx
mov ecx, dword [edx]
mov dword [ebp - 0x58], ecx
mov edi, dword [ebx + 0x10]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x78], esi
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [edx + 0x20]
mov dword [ebp - 0x60], ecx
mov ecx, dword [edx + 0x24]
movss dword [ebp - 0x100], xmm0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x110], 0
movss dword [ebp - 0xdc], xmm0
movss dword [ebp - 0xbc], xmm0
mov dword [ebp - 0xf4], 0x7c830
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x5c], ecx
movss dword [ebp - 0xb0], xmm0
movss dword [ebp - 0x9c], xmm0
cmp edi, 2
jl 0x1d84965
test eax, eax
je 0x1d84965
mov eax, dword [edx + 0x1c]
xor ecx, ecx
mov edx, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x58]
imul edx, dword [ebx + 8]
mov dword [ebp - 0x54], ecx
mov esi, dword [eax + 0x24]
test esi, esi
js 0x1d82633
mov edi, dword [eax + 0x2c]
nop
mov eax, edi
shl eax, cl
cmp eax, edx
je 0x1d8262d
inc ecx
cmp ecx, esi
jle 0x1d82620
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x54], ecx
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movaps xmmword [ebp - 0x130], xmm0
cmp ecx, esi
jg 0x1d84965
mov esi, dword [ebp - 0x50]
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ecx + 0x2c]
imul ecx, eax
mov dword [ebp - 0xd8], ecx
mov ecx, dword [ebp - 0x98]
mov eax, ecx
imul eax, dword [ebp - 0x84]
add eax, 0x32
lea eax, [esi + eax*4]
mov dword [ebp - 0x94], eax
lea eax, [ecx*4]
mov dword [ebp - 0x104], eax
lea ecx, [esi + 0xc8]
add eax, 0x1000
imul eax, dword [ebp - 0x84]
add ecx, eax
mov eax, dword [ebp - 0x78]
imul eax, dword [ebp - 0x84]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x114], eax
shl eax, 2
add ecx, eax
mov dword [ebp - 0x10c], eax
add eax, ecx
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xf0], eax
test ecx, ecx
jne 0x1d826e1
lea esi, [ecx + 1]
jmp 0x1d826f4
bsr eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x14]
sub esi, eax
mov dword [ebp - 8], eax
dec esi
lea ecx, [esi + 4]
sar ecx, 3
mov eax, 0x4fb
mov dword [ebp - 0xa4], ecx
cmp edi, eax
mov dword [ebp - 0x6c], esi
cmovl eax, edi
mov dword [ebp - 0x68], eax
sub eax, ecx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x2c], 0
je 0x1d82747
mov edi, dword [eax + 0x28]
cmp edi, 0xffffffff
je 0x1d82747
mov eax, dword [ebp - 0x58]
mov ecx, edi
imul ecx, edx
mov esi, dword [eax]
sar esi, 3
mov eax, esi
sar eax, 1
add eax, ecx
cdq
idiv esi
mov dword [ebp - 0xfc], eax
sar eax, 6
mov dword [ebp - 0x80], eax
jmp 0x1d827b1
mov edi, dword [eax + 0x28]
mov eax, edi
imul eax, edx
cmp esi, 1
mov dword [ebp - 0xfc], 0
lea ecx, [eax + esi]
cmovle ecx, eax
cmp edi, 0xffffffff
je 0x1d827ab
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
lea ecx, [ecx + eax*4]
lea esi, [eax*8]
mov eax, ecx
cdq
xor ecx, ecx
idiv esi
mov edx, dword [ebp - 0x50]
cmp dword [edx + 0x30], ecx
mov edx, dword [ebp - 0x68]
setne cl
sub eax, ecx
cmp edx, eax
mov ecx, eax
cmovl ecx, edx
cmp ecx, 2
jge 0x1d827a1
mov edx, 2
mov dword [ebp - 0x68], edx
jmp 0x1d827ae
cmp edx, eax
cmovge edx, eax
mov dword [ebp - 0x68], edx
jmp 0x1d827ae
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x80], edx
cmp edi, 0xffffffff
je 0x1d827dd
mov eax, dword [ebp - 0x4c]
mov edx, 0x190
mov ecx, dword [ebp - 0x54]
sar edx, cl
sub edx, 0x32
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x14]
imul edx, eax
mov eax, edi
sub eax, edx
mov dword [ebp - 0xf4], eax
mov esi, dword [ebp - 0x64]
test esi, esi
jne 0x1d82820
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
lea esi, [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], 0x21
mov dword [ebp - 0x2c], connect
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x64], esi
mov ecx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0x6c]
test ecx, ecx
jle 0x1d8289f
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x34], 0
je 0x1d8289f
add ecx, ecx
xor edx, edx
sub ecx, dword [eax + 0xa4]
mov eax, 2
sar ecx, 6
cmp edi, 1
cmove edx, eax
mov eax, ecx
cmp edx, ecx
cmovg eax, edx
cmp eax, dword [ebp - 0xcc]
jge 0x1d8289f
cmp edx, ecx
cmovg ecx, edx
cmp ecx, dword [ebp - 0xcc]
jge 0x1d8289f
mov eax, dword [ebp - 0xa4]
mov edx, dword [esi]
add eax, ecx
mov dword [ebp - 0x68], eax
mov eax, edx
mov dword [ebp - 0xcc], ecx
mov ecx, dword [esi + 8]
sub eax, ecx
add eax, dword [esi + 4]
sub edx, ecx
add edx, dword [ebp - 0x68]
push ecx
push eax
push edx
call fcn.01e04550
mov eax, dword [ebp - 0x68]
add esp, 0xc
mov dword [esi + 4], eax
jmp 0x1d828a2
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x5c]
shl eax, 3
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax + 0xc]
cmp ecx, eax
cmovg ecx, eax
mov eax, dword [ebp - 0xd8]
add eax, dword [ebp - 0x98]
mov dword [ebp - 0xc8], eax
imul eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], ecx
shl eax, 2
call fcn.01e277a0
mov eax, dword [ebp - 0xd8]
xorps xmm0, xmm0
sub eax, dword [ebp - 0x98]
xor ecx, ecx
imul eax, dword [ebp - 0x4c]
movaps xmm1, xmm0
mov esi, dword [ebp - 0xa0]
movaps xmm3, xmm0
mov dword [ebp - 0xa8], esp
cdq
idiv dword [ebp - 0x7c]
mov edx, eax
test edx, edx
jle 0x1d82923
maxss xmm1, dword [esi + ecx*4]
minss xmm3, dword [esi + ecx*4]
inc ecx
cmp ecx, edx
jl 0x1d82911
xorps xmm0, xmm0
movss xmm4, dword [0x1e7e820]
mov eax, dword [ebp - 0x50]
xorps xmm3, xmm4
maxss xmm1, xmm3
movss xmm2, dword [eax + 0xb4]
comiss xmm2, xmm1
ja 0x1d82969
xor eax, eax
movaps xmm2, xmm0
movaps xmm1, xmm0
test edx, edx
jle 0x1d82962
nop
maxss xmm2, dword [esi + eax*4]
minss xmm1, dword [esi + eax*4]
inc eax
cmp eax, edx
jl 0x1d82950
xorps xmm0, xmm0
xorps xmm1, xmm4
maxss xmm2, xmm1
mov eax, dword [ebp - 0x98]
lea esi, [esi + edx*4]
imul eax, dword [ebp - 0x4c]
xor ecx, ecx
movaps xmm1, xmm0
movaps xmm3, xmm0
cdq
idiv dword [ebp - 0x7c]
test eax, eax
jle 0x1d8299f
nop word [eax + eax]
maxss xmm1, dword [esi + ecx*4]
minss xmm3, dword [esi + ecx*4]
inc ecx
cmp ecx, eax
jl 0x1d82990
mov edx, dword [ebp - 0x50]
mov eax, 1
xorps xmm3, xmm4
maxss xmm1, xmm3
mov ecx, dword [edx + 0x3c]
shl eax, cl
maxss xmm2, xmm1
movss dword [edx + 0xb4], xmm1
movss xmm1, dword [0x1e7df40]
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x7c], xmm2
divss xmm1, xmm0
comiss xmm1, xmm2
setae al
mov dword [ebp - 0x90], eax
cmp edi, 1
jne 0x1d82ac6
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x90]
mov eax, dword [esi + 0x1c]
mov ecx, eax
shr ecx, 0xf
sub eax, ecx
test edi, edi
je 0x1d82a0a
add dword [esi + 0x20], eax
test edi, edi
cmovne eax, ecx
mov ecx, esi
mov dword [esi + 0x1c], eax
call fcn.01d7ee20
test edi, edi
je 0x1d82a92
cmp dword [ebp - 0xfc], 0
jle 0x1d82a78
mov eax, dword [ebp - 0xa4]
mov edx, dword [esi + 8]
add eax, 2
cmp dword [ebp - 0x68], eax
push edx
cmovl eax, dword [ebp - 0x68]
mov edi, eax
mov dword [ebp - 0xcc], 2
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x80], edi
lea eax, [edi*8]
mov dword [ebp - 0xac], eax
mov eax, dword [esi]
sub eax, edx
add eax, dword [esi + 4]
push eax
mov eax, edi
sub eax, edx
add eax, dword [esi]
push eax
call fcn.01e04550
movss xmm2, dword [ebp - 0x7c]
add esp, 0xc
mov dword [esi + 4], edi
jmp 0x1d82a7b
mov edi, dword [ebp - 0x68]
bsr eax, dword [esi + 0x1c]
lea ecx, [edi*8]
mov dword [ebp - 8], eax
inc eax
add eax, ecx
mov dword [ebp - 0x6c], ecx
mov dword [esi + 0x14], eax
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
xor esi, esi
mov edi, dword [ebp - 0xa8]
add ecx, 0x10
add edi, dword [ebp - 0x104]
mov dword [ebp - 8], ecx
nop dword [eax]
cmp dword [edx + 0x10], 0
je 0x1d82ad2
comiss xmm2, dword [0x1e7e3cc]
jbe 0x1d82ad2
mov eax, 1
jmp 0x1d82ad4
mov dword [ebp - 0x90], 0
jmp 0x1d82a95
xor eax, eax
push eax
lea eax, [esi + 0x25]
lea eax, [edx + eax*4]
push eax
mov eax, dword [ebp - 0xa0]
push ecx
push dword [edx + 0x1c]
mov edx, edi
push dword [ebp - 0x84]
lea ecx, [eax + esi*4]
push dword [ebp - 0xd8]
call fcn.01d7ffa0
mov ecx, dword [ebp - 0xc8]
inc esi
movss xmm2, dword [ebp - 0x7c]
add esp, 0x18
mov edx, dword [ebp - 0x50]
lea eax, [ecx*4]
mov ecx, dword [ebp - 8]
add edi, eax
cmp esi, dword [ebp - 0x84]
jl 0x1d82ab0
mov esi, edx
mov edx, dword [ebp - 0xcc]
cmp dword [esi + 0x44], 0
je 0x1d82b35
cmp edx, 3
jg 0x1d82b42
mov eax, dword [ebp - 0x4c]
lea eax, [eax + eax*2]
shl eax, 2
cmp edx, eax
jle 0x1d82b77
mov edi, dword [ebp - 0x60]
test edi, edi
jne 0x1d82b7a
cmp dword [ebp - 0x90], edi
jne 0x1d82b7a
cmp dword [esi + 0x14], edi
jne 0x1d82b7a
cmp dword [esi + 0x18], 5
jl 0x1d82b7a
cmp dword [esi + 0x74], edi
je 0x1d82b70
cmp dword [ebp - 0x54], 3
je 0x1d82b70
cmp dword [esi + 0x40], 0x1392
je 0x1d82b7a
mov eax, 1
jmp 0x1d82b7c
mov edi, dword [ebp - 0x60]
xor eax, eax
mov ecx, dword [esi + 0x64]
push edx
mov edx, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x104], ecx
push eax
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x74]
push eax
push ecx
push dword [ebp - 0xd8]
mov ecx, esi
push dword [ebp - 0x84]
push dword [ebp - 0x94]
call fcn.01d81d20
movss xmm1, dword [0x1e7de4c]
add esp, 0x24
movss xmm0, dword [ebp - 0x118]
comiss xmm0, xmm1
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x98], ecx
ja 0x1d82be4
movss xmm0, dword [esi + 0x6c]
comiss xmm0, xmm1
jbe 0x1d82c36
cmp dword [esi + 0x78], 0
je 0x1d82bfc
movss xmm0, dword [esi + 0x7c]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x1e7e030]
jbe 0x1d82c36
movd xmm1, dword [esi + 0x68]
cvtdq2pd xmm1, xmm1
movd xmm2, ecx
cvtdq2pd xmm2, xmm2
movaps xmm0, xmm1
mulsd xmm0, qword [0x1e7e128]
comisd xmm2, xmm0
ja 0x1d82c2c
mulsd xmm1, qword [0x1e7e0c8]
comisd xmm1, xmm2
jbe 0x1d82c36
mov dword [ebp - 0x108], 1
test eax, eax
jne 0x1d82c6f
test edi, edi
mov edi, dword [ebp - 0x64]
jne 0x1d82d25
mov eax, dword [ebp - 0x6c]
add eax, 0x10
cmp eax, dword [ebp - 0xac]
jg 0x1d82d25
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 1
sub ecx, eax
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.01d7ee20
jmp 0x1d82d25
mov edi, dword [ebp - 0x64]
mov eax, dword [edi + 0x1c]
mov ecx, eax
shr ecx, 1
sub eax, ecx
mov dword [edi + 0x1c], ecx
add dword [edi + 0x20], eax
mov ecx, edi
call fcn.01d7ee20
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x98], eax
bsr eax, eax
push 6
mov esi, eax
mov dword [ebp - 8], eax
lea edx, [esi - 4]
call fcn.01d7efa0
lea ecx, [esi - 4]
mov eax, 0x10
push esi
mov esi, dword [ebp - 0x98]
mov edx, esi
shl eax, cl
mov ecx, edi
sub edx, eax
call fcn.01d7f080
mov edx, dword [ebp - 0xc]
dec esi
push 3
mov ecx, edi
mov dword [ebp - 0x98], esi
call fcn.01d7f080
mov ecx, dword [edi + 0x1c]
add esp, 0xc
mov esi, dword [ebp - 0x104]
mov edx, ecx
shr edx, 2
test esi, esi
jle 0x1d82d0c
movzx eax, byte [esi + 0x1e5b47b]
imul eax, edx
sub ecx, eax
add dword [edi + 0x20], ecx
movzx eax, byte [esi + 0x1e5b47c]
movzx ecx, byte [esi + 0x1e5b47b]
sub ecx, eax
imul ecx, edx
jmp 0x1d82d18
movzx eax, byte [esi + 0x1e5b47c]
imul eax, edx
sub ecx, eax
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.01d7ee20
mov esi, dword [ebp - 0x50]
mov eax, dword [esi + 0x18]
xor edx, edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x94], eax
cmp eax, 1
jl 0x1d82d8f
cmp dword [esi + 0x44], edx
jne 0x1d82d8f
mov edx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc4]
mov ecx, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0x84]
call fcn.01d7f850
movss xmm0, dword [ebp - 0x9c]
mov edx, eax
mov dword [ebp - 0x88], eax
add esp, 0xc
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xf8], eax
movss dword [ebp - 0xb0], xmm0
cmp dword [ebp - 0x54], 0
jle 0x1d82dbe
bsr ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x14]
sub eax, ecx
mov dword [ebp - 8], ecx
add eax, 2
cmp eax, dword [ebp - 0xac]
jg 0x1d82dbe
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
test edx, edx
cmove eax, ecx
mov dword [ebp - 0x6c], eax
jmp 0x1d82dd2
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x11c], 1
mov eax, dword [ebp - 0xd8]
imul eax, dword [ebp - 0x84]
shl eax, 2
call fcn.01e277a0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x9c], esp
call fcn.01e277a0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xd4], esp
call fcn.01e277a0
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], esp
je 0x1d82e22
cmp dword [esi + 0x18], 8
mov dword [ebp - 0xc4], 1
jge 0x1d82e2c
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x78]
imul eax, dword [ebp - 0x4c]
mov dword [ebp - 0xe8], eax
shl eax, 2
mov dword [ebp - 0xa0], eax
call fcn.01e277a0
cmp dword [ebp - 0xc4], 0
mov edi, esp
mov dword [ebp - 0x7c], edi
je 0x1d82f92
push ecx
push dword [esi + 0x1c]
mov ecx, dword [ebp - 0x58]
xor edx, edx
push dword [ebp - 0x54]
push dword [ebp - 0x84]
push dword [ebp - 0x4c]
push dword [ebp - 0x9c]
push dword [ebp - 0xa8]
call fcn.01d7fdc0
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x9c]
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x8c]
push dword [ebp - 0xd4]
call fcn.01d8ee80
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x58]
push edi
push dword [ebp - 0xd4]
push dword [ebp - 0x5c]
call fcn.01d8eb80
mov edx, dword [ebp - 0xe8]
add esp, 0x3c
xor ecx, ecx
test edx, edx
jle 0x1d82f92
cmp edx, 8
jb 0x1d82f1b
mov eax, edx
and eax, 0x80000007
jns 0x1d82ee0
dec eax
or eax, 0xfffffff8
inc eax
cvtdq2ps xmm2, xmmword [ebp - 0x130]
sub edx, eax
mulps xmm2, xmmword [0x1e7e6b0]
movups xmm0, xmmword [edi + ecx*4]
movaps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [edi + ecx*4], xmm1
movups xmm0, xmmword [edi + ecx*4 + 0x10]
movaps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [edi + ecx*4 + 0x10], xmm1
add ecx, 8
cmp ecx, edx
jl 0x1d82ef0
mov edx, dword [ebp - 0xe8]
cmp ecx, edx
jge 0x1d82f92
movss xmm2, dword [0x1e7de6c]
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x1d82f6b
movd xmm1, dword [ebp - 0x54]
lea eax, [edi + 8]
sub edx, ecx
lea eax, [eax + ecx*4]
cvtdq2ps xmm1, xmm1
sub edx, 4
shr edx, 2
inc edx
mulss xmm1, xmm2
lea ecx, [ecx + edx*4]
shufps xmm1, xmm1, 0
movups xmm0, xmmword [eax - 8]
addps xmm0, xmm1
movups xmmword [eax - 8], xmm0
add eax, 0x10
sub edx, 1
jne 0x1d82f52
mov edx, dword [ebp - 0xe8]
cmp ecx, edx
jge 0x1d82f92
movd xmm1, dword [ebp - 0x54]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
nop dword [eax + eax]
movaps xmm0, xmm1
addss xmm0, dword [edi + ecx*4]
movss dword [edi + ecx*4], xmm0
inc ecx
cmp ecx, edx
jl 0x1d82f80
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x58]
push eax
push dword [ebp - 0x54]
mov dword [ebp - 0x18], eax
push dword [ebp - 0x84]
push dword [ebp - 0x4c]
push dword [ebp - 0x9c]
push dword [ebp - 0xa8]
call fcn.01d7fdc0
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
cmp dword [ebp - 0x84], 2
jne 0x1d82fe0
mov ecx, dword [ebp - 0xf8]
xor edx, edx
cmp eax, 1
cmove ecx, edx
mov dword [ebp - 0xf8], ecx
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x58]
push eax
push dword [ebp - 0x8c]
push dword [ebp - 0xd4]
call fcn.01d8ee80
mov eax, dword [esi + 0x44]
add esp, 0x10
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
test eax, eax
je 0x1d8304f
mov eax, 2
cmp ecx, eax
jle 0x1d8304f
movss xmm2, dword [0x1e7dd38]
movss xmm3, dword [0x1e7dcf4]
movss xmm0, dword [edx]
movss xmm1, dword [edx + eax*4]
mulss xmm0, xmm2
minss xmm1, xmm0
maxss xmm1, xmm3
movss dword [edx + eax*4], xmm1
inc eax
cmp eax, ecx
jl 0x1d83030
push dword [ebp - 0x4c]
push dword [ebp - 0x70]
push edx
mov edx, dword [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.01d8eb80
mov eax, dword [ebp - 0xa0]
add esp, 0x10
call fcn.01e277a0
mov ecx, dword [ebp - 0x5c]
mov eax, esp
shl ecx, 2
push ecx
push 0
push eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 8], ecx
call fcn.01e05050
mov eax, dword [ebp - 0x60]
add esp, 0xc
movss xmm5, dword [0x1e7ddf4]
test eax, eax
jne 0x1d8349f
mov ecx, dword [esi + 0xc0]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je 0x1d8349f
cmp dword [esi + 0x44], 0
jne 0x1d83582
mov esi, dword [esi + 0x5c]
xor eax, eax
movss xmm3, dword [0x1e7de08]
cmp esi, 2
movss xmm4, dword [0x1e7de6c]
xorps xmm6, xmm6
mov edx, 2
mov dword [ebp - 0xec], eax
cmovl esi, edx
movaps xmm2, xmm6
movaps xmm7, xmm6
movss dword [ebp - 0xdc], xmm2
mov dword [ebp - 0xc0], esi
cmp dword [ebp - 0x4c], eax
jle 0x1d831e9
mov edx, dword [ebp - 0x4c]
xor edi, edi
movss xmm2, dword [0x1e7e498]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc], edx
nop word [eax + eax]
xor edx, edx
test esi, esi
jle 0x1d831bf
mov edi, 1
sub edi, esi
mov esi, dword [ebp - 0xbc]
add esi, ecx
nop dword [eax]
movss xmm1, dword [esi]
minss xmm1, xmm3
comiss xmm1, xmm2
jbe 0x1d83158
comiss xmm1, xmm6
jbe 0x1d8315b
mulss xmm1, xmm4
jmp 0x1d8315b
movaps xmm1, xmm2
mov eax, dword [ebp - 0xe0]
add esi, 4
movsx ecx, word [eax + edx*2 + 2]
movsx eax, word [eax + edx*2]
inc edx
sub ecx, eax
mov eax, dword [ebp - 0xec]
add eax, ecx
mov dword [ebp - 0xec], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xdc], xmm0
movd xmm0, edi
add edi, 2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
addss xmm7, xmm0
cmp edx, dword [ebp - 0xc0]
jl 0x1d83140
mov ecx, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x78]
lea edx, [esi*4]
mov esi, dword [ebp - 0xc0]
add edi, edx
sub dword [ebp - 0xc], 1
mov dword [ebp - 0xbc], edi
jne 0x1d83120
movss xmm2, dword [ebp - 0xdc]
mulss xmm7, dword [0x1e7e2a0]
lea ecx, [esi - 1]
movd xmm0, eax
lea eax, [esi + 1]
imul ecx, eax
cvtdq2ps xmm0, xmm0
imul ecx, esi
divss xmm2, xmm0
imul ecx, dword [ebp - 0x4c]
addss xmm2, xmm5
movss dword [ebp - 0xdc], xmm2
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
movss xmm0, dword [0x1e7e400]
mulss xmm7, xmm4
minss xmm7, dword [0x1e7dd9c]
comiss xmm7, xmm0
movss dword [ebp - 0xbc], xmm7
ja 0x1d8324f
movaps xmm7, xmm0
movss dword [ebp - 0xbc], xmm7
mov edi, dword [ebp - 0xe0]
xor esi, esi
mov eax, dword [ebp - 0xc0]
movsx ecx, word [edi + 2]
movsx eax, word [edi + eax*2]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
cmp ecx, edx
jge 0x1d8327f
lea ecx, [edi + 2]
movsx eax, word [ecx + 2]
lea ecx, [ecx + 2]
inc esi
cmp eax, edx
jl 0x1d83273
mov edx, dword [ebp - 0xc0]
xor ecx, ecx
mov dword [ebp - 0xec], ecx
test edx, edx
jle 0x1d8346a
mov edx, dword [ebp - 0x78]
neg esi
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x74]
sub edi, dword [ebp - 0xd0]
mov dword [ebp - 0xc], edi
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0xc0]
nop word [eax + eax]
cmp dword [ebp - 0x4c], 2
mov edi, dword [ebp - 0xd0]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movss xmm0, dword [edi]
mov edi, dword [ebp - 0xc]
mulss xmm1, xmm7
addss xmm1, xmm2
jne 0x1d832e6
maxss xmm0, dword [eax]
minss xmm0, xmm6
subss xmm0, xmm1
comiss xmm0, xmm3
jbe 0x1d8330f
mov ecx, dword [ebp - 0xd0]
subss xmm0, xmm3
movss dword [edi + ecx], xmm0
mov ecx, dword [ebp - 0xec]
inc ecx
mov dword [ebp - 0xec], ecx
add dword [ebp - 0xd0], 4
inc esi
add eax, 4
sub edx, 1
jne 0x1d832c0
cmp ecx, 3
jl 0x1d8346a
addss xmm2, xmm3
comiss xmm2, xmm6
movss dword [ebp - 0xdc], xmm2
jbe 0x1d8336c
mov eax, dword [ebp - 0xc0]
shl eax, 2
push eax
push edx
push dword [ebp - 0x74]
movss dword [ebp - 0xdc], xmm6
movss dword [ebp - 0xbc], xmm6
call fcn.01e05050
movss xmm5, dword [0x1e7ddf4]
add esp, 0xc
jmp 0x1d8346a
mov esi, dword [ebp - 0xc0]
xor ecx, ecx
cmp esi, 8
jb 0x1d833c2
mov eax, esi
and eax, 0x80000007
jns 0x1d83387
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm2, xmmword [0x1e7e690]
mov edx, esi
mov edi, dword [ebp - 0x74]
sub edx, eax
movups xmm1, xmmword [edi + ecx*4]
xorps xmm0, xmm0
subps xmm1, xmm2
maxps xmm0, xmm1
movups xmmword [edi + ecx*4], xmm0
movups xmm1, xmmword [edi + ecx*4 + 0x10]
xorps xmm0, xmm0
subps xmm1, xmm2
maxps xmm0, xmm1
movups xmmword [edi + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edx
jl 0x1d83395
jmp 0x1d833c5
mov edi, dword [ebp - 0x74]
cmp ecx, esi
jge 0x1d8346a
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x1d8344a
mov edx, esi
lea eax, [ecx + 2]
sub edx, ecx
lea eax, [edi + eax*4]
sub edx, 4
shr edx, 2
inc edx
lea ecx, [ecx + edx*4]
nop word [eax + eax]
movss xmm1, dword [eax - 8]
movaps xmm0, xmm6
subss xmm1, xmm3
maxss xmm0, xmm1
movss xmm1, dword [eax - 4]
subss xmm1, xmm3
movss dword [eax - 8], xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
movss xmm1, dword [eax]
subss xmm1, xmm3
movss dword [eax - 4], xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
movss xmm1, dword [eax + 4]
subss xmm1, xmm3
movss dword [eax], xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
movss dword [eax + 4], xmm0
add eax, 0x10
sub edx, 1
jne 0x1d833f0
cmp ecx, esi
jge 0x1d8346a
nop
movss xmm1, dword [edi + ecx*4]
movaps xmm0, xmm6
subss xmm1, xmm3
maxss xmm0, xmm1
movss dword [edi + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x1d83450
movss xmm0, dword [ebp - 0xbc]
mulss xmm0, dword [0x1e7e334]
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x60]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xdc]
addss xmm0, xmm5
movss dword [ebp - 0xdc], xmm0
cmp dword [esi + 0x44], 0
jne 0x1d83582
cmp dword [ebp - 0x6c], 0
xorps xmm3, xmm3
movss xmm1, dword [0x1e7e4c8]
je 0x1d834cc
movd xmm2, dword [ebp - 0x54]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x1e7de6c]
jmp 0x1d834cf
movaps xmm2, xmm3
mov ecx, eax
cmp eax, dword [ebp - 0x5c]
jge 0x1d83522
mov edx, dword [ebp - 0x70]
add eax, dword [ebp - 0x78]
movss xmm4, dword [0x1e7df40]
mov edi, dword [ebp - 0x70]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x4c]
nop dword [eax]
movss xmm0, dword [edi + ecx*4]
subss xmm1, xmm4
subss xmm0, xmm2
maxss xmm1, xmm0
cmp edx, 2
jne 0x1d83512
movss xmm0, dword [eax]
subss xmm0, xmm2
maxss xmm1, xmm0
inc ecx
addss xmm3, xmm1
add eax, 4
cmp ecx, dword [ebp - 0x5c]
jl 0x1d834f0
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
movss xmm1, dword [esi + 0xc4]
movss xmm2, dword [0x1e7e220]
movss dword [ebp - 0x100], xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
movss xmm0, dword [0x1e7e468]
subss xmm3, xmm1
maxss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1d8356b
movaps xmm2, xmm0
movss dword [ebp - 0x100], xmm2
movaps xmm0, xmm2
mulss xmm0, dword [0x1e7dd8c]
addss xmm0, xmm1
movss dword [esi + 0xc4], xmm0
cmp dword [ebp - 0xc4], 0
jne 0x1d8359d
push dword [ebp - 0xa0]
push dword [ebp - 0x70]
push edi
call fcn.01e27b10
add esp, 0xc
cmp dword [ebp - 0x54], 0
jle 0x1d837af
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x88]
bsr eax, dword [esi + 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0xc]
add eax, 2
cmp eax, dword [ebp - 0xac]
jg 0x1d83778
test edx, edx
jne 0x1d83778
cmp dword [ebp - 0x94], 5
jl 0x1d83778
cmp dword [ebp - 0xc8], edx
jne 0x1d83778
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0xb8]
push dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x60]
push dword [ebp - 0x78]
call fcn.01d7fb30
add esp, 0x10
test eax, eax
je 0x1d83772
mov eax, dword [ebp - 0xe4]
mov edx, eax
push ecx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x54]
mov dword [ebp - 0x88], 1
push dword [ebp - 0x84]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x4c]
push dword [ebp - 0x9c]
push dword [ebp - 0xa8]
call fcn.01d7fdc0
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x9c]
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x8c]
push dword [ebp - 0xd4]
call fcn.01d8ee80
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0x8c]
push dword [ebp - 0x70]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0xd4]
push dword [ebp - 0x5c]
call fcn.01d8eb80
mov edx, dword [ebp - 0xe8]
add esp, 0x3c
xor ecx, ecx
test edx, edx
jle 0x1d83762
cmp edx, 8
jb 0x1d836eb
mov eax, edx
and eax, 0x80000007
jns 0x1d836ae
dec eax
or eax, 0xfffffff8
inc eax
cvtdq2ps xmm2, xmmword [ebp - 0x130]
sub edx, eax
mulps xmm2, xmmword [0x1e7e6b0]
nop
movups xmm0, xmmword [edi + ecx*4]
movaps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [edi + ecx*4], xmm1
movups xmm0, xmmword [edi + ecx*4 + 0x10]
movaps xmm1, xmm2
addps xmm1, xmm0
movups xmmword [edi + ecx*4 + 0x10], xmm1
add ecx, 8
cmp ecx, edx
jl 0x1d836c0
mov edx, dword [ebp - 0xe8]
cmp ecx, edx
jge 0x1d83762
movss xmm2, dword [0x1e7de6c]
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x1d8373b
movd xmm1, dword [ebp - 0x54]
lea eax, [ecx + 2]
sub edx, ecx
lea eax, [edi + eax*4]
cvtdq2ps xmm1, xmm1
sub edx, 4
shr edx, 2
inc edx
mulss xmm1, xmm2
lea ecx, [ecx + edx*4]
shufps xmm1, xmm1, 0
movups xmm0, xmmword [eax - 8]
addps xmm0, xmm1
movups xmmword [eax - 8], xmm0
add eax, 0x10
sub edx, 1
jne 0x1d83722
mov edx, dword [ebp - 0xe8]
cmp ecx, edx
jge 0x1d83762
movd xmm1, dword [ebp - 0x54]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
nop dword [eax + eax]
movaps xmm0, xmm1
addss xmm0, dword [edi + ecx*4]
movss dword [edi + ecx*4], xmm0
inc ecx
cmp ecx, edx
jl 0x1d83750
movss xmm0, dword [0x1e7ddf4]
movss dword [ebp - 0xb0], xmm0
mov edx, dword [ebp - 0x88]
mov ecx, dword [esi + 0x1c]
bsr eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0x18]
add eax, 2
cmp eax, dword [ebp - 0xac]
jg 0x1d837af
mov eax, ecx
shr eax, 3
sub ecx, eax
test edx, edx
je 0x1d837a2
add dword [esi + 0x20], ecx
test edx, edx
cmovne ecx, eax
mov dword [esi + 0x1c], ecx
mov ecx, esi
call fcn.01d7ee20
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0x4c]
imul eax, edi
shl eax, 2
call fcn.01e277a0
mov edx, dword [ebp - 0x9c]
mov esi, esp
push dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x58]
push edi
push dword [ebp - 0x8c]
mov dword [ebp - 0xa8], esi
push dword [ebp - 0xd4]
push esi
call fcn.01d8ef40
mov eax, dword [ebp - 0x78]
add esp, 0x14
shl eax, 2
call fcn.01e277a0
mov eax, dword [ebp - 0x4c]
mov edi, esp
mov ecx, dword [ebp - 0x80]
shl eax, 4
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x9c], edi
cmp ecx, eax
jl 0x1d838c1
cmp dword [ebp - 0x60], 0
jne 0x1d838c1
cmp dword [ebp - 0x94], 2
jl 0x1d838c1
cmp dword [ebp - 0xc8], 0
jne 0x1d838c1
cmp ecx, 0x28
jge 0x1d83847
mov eax, 0xc
jmp 0x1d8385e
cmp ecx, 0x3c
jge 0x1d83853
mov eax, 6
jmp 0x1d8385e
xor eax, eax
cmp ecx, 0x64
setl al
add eax, 3
push dword [ebp - 0xf8]
movss xmm0, dword [ebp - 0xb0]
add eax, eax
mov edx, dword [ebp - 0x8c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0xd8]
push esi
push eax
push edi
push dword [ebp - 0x88]
call fcn.01d80360
mov esi, eax
add esp, 0x24
mov eax, dword [ebp - 0x8c]
mov edx, eax
mov dword [ebp - 0x18], esi
cmp eax, dword [ebp - 0x5c]
jge 0x1d838d7
mov esi, dword [ebp - 0x5c]
mov ecx, dword [edi + eax*4 - 4]
mov dword [edi + edx*4], ecx
inc edx
cmp edx, esi
jl 0x1d838b0
mov esi, dword [ebp - 0x18]
jmp 0x1d838d7
cmp dword [ebp - 0x5c], 0
jle 0x1d838d5
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x88]
shr ecx, 2
rep stosd dword es:[edi], eax
xor esi, esi
mov eax, dword [ebp - 0xa0]
call fcn.01e277a0
mov ecx, dword [ebp - 0x50]
mov edx, esp
push dword [ebp - 0xc8]
mov edi, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0xc0], edx
push dword [ecx + 0x38]
cmp dword [ecx + 0x18], 4
setge al
push eax
lea eax, [ecx + 0x54]
push eax
push dword [ecx + 0xc]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0xcc]
push dword [ebp - 0x54]
push dword [ebp - 0x4c]
push edi
push edx
push dword [ebp - 0xac]
mov edx, dword [ebp - 0x60]
push dword [ebp - 0xb8]
push dword [ebp - 0x70]
push dword [ebp - 0x8c]
push dword [ebp - 0x5c]
call fcn.01d8e150
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
push edi
push esi
push dword [ebp - 0x54]
push dword [ebp - 0x9c]
push dword [ebp - 0x88]
call fcn.01d809f0
bsr eax, dword [edi + 0x1c]
add esp, 0x50
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x14]
sub eax, dword [ebp - 0x18]
add eax, 3
cmp eax, dword [ebp - 0xac]
jg 0x1d83a53
mov esi, dword [ebp - 0x50]
cmp dword [esi + 0x44], 0
je 0x1d839c7
mov dword [esi + 0x64], 0
mov dword [esi + 0x50], 2
mov ecx, dword [edi + 0x1c]
mov edx, ecx
mov esi, dword [esi + 0x50]
shr edx, 5
test esi, esi
jle 0x1d83a3d
movzx eax, byte [esi + 0x1e5b333]
imul eax, edx
sub ecx, eax
add dword [edi + 0x20], ecx
movzx ecx, byte [esi + 0x1e5b333]
movzx eax, byte [esi + 0x1e5b334]
sub ecx, eax
imul ecx, edx
jmp 0x1d83a49
cmp dword [ebp - 0x6c], 0
jne 0x1d83a27
cmp dword [esi + 0x18], 3
jl 0x1d83a27
mov ecx, dword [ebp - 0x4c]
lea eax, [ecx + ecx*4]
add eax, eax
cmp dword [ebp - 0xcc], eax
jl 0x1d83a27
cmp dword [ebp - 0x60], 0
jne 0x1d83a27
push dword [ebp - 0xe4]
mov edx, dword [ebp - 0xa8]
xor eax, eax
cmp dword [ebp - 0x14], eax
push ecx
push dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x58]
setne al
push eax
lea eax, [esi + 0x64]
push eax
lea eax, [esi + 0x60]
push eax
push dword [esi + 0x50]
lea eax, [esi + 0x58]
push eax
call fcn.01d8f950
add esp, 0x20
mov dword [esi + 0x50], eax
jmp 0x1d8398d
cmp dword [esi + 0x18], 0
jne 0x1d83986
mov dword [esi + 0x50], 0
jmp 0x1d8398d
movzx eax, byte [esi + 0x1e5b334]
imul eax, edx
sub ecx, eax
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.01d7ee20
mov eax, dword [ebp - 0x78]
lea esi, [eax*4]
mov eax, esi
call fcn.01e277a0
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x10]
mov ecx, esp
push dword [ebp - 0x74]
mov dword [ebp - 0xe4], ecx
push dword [eax + 0x44]
push edx
push dword [ebp - 0x80]
mov edx, dword [ebp - 0x58]
push dword [ebp - 0x54]
push dword [ebp - 0xe0]
push dword [eax + 0x34]
push dword [eax + 0x2c]
push dword [ebp - 0x88]
push dword [edx + 0x38]
mov edx, dword [ebp - 0x7c]
push dword [eax + 0x3c]
push ecx
push dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x70]
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
push dword [ebp - 0x78]
call fcn.01d81050
mov eax, dword [ebp - 0x50]
add esp, 0x40
movss dword [ebp - 0x8c], xmm0
cmp dword [eax + 0x44], 0
je 0x1d83ae7
mov eax, 0x55555556
mov ecx, 8
imul dword [ebp - 0x80]
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ecx], eax
mov eax, esi
call fcn.01e277a0
mov ecx, dword [ebp - 0x58]
mov eax, esp
push dword [ebp - 0x4c]
mov edx, eax
mov dword [ebp - 0x74], eax
push dword [ebp - 0x54]
call fcn.01d8dc20
mov esi, dword [edi + 0x1c]
add esp, 8
bsr eax, esi
shl dword [ebp - 0xac], 3
mov edx, eax
mov dword [ebp - 0x14], eax
inc edx
mov dword [ebp - 0xc8], 6
mov dword [ebp - 0x80], 0
lea ecx, [edx - 0x10]
shr esi, cl
mov ecx, esi
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x1e5cc6c], esi
mov esi, dword [edi + 0x14]
mov edi, dword [ebp - 0x60]
sbb eax, eax
sub esi, edx
neg eax
shl esi, 3
sub esi, eax
sub esi, ecx
mov ecx, edi
mov dword [ebp - 0xf8], ecx
cmp edi, dword [ebp - 0x5c]
jge 0x1d83ceb
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edi*4]
mov edi, 0x30
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x74]
sub eax, edx
mov dword [ebp - 0x14], eax
nop
mov eax, dword [ebp - 0xe0]
movsx edx, word [eax + ecx*2 + 2]
movsx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x54]
sub edx, eax
imul edx, dword [ebp - 0x4c]
shl edx, cl
cmp edx, 0x30
mov ecx, edx
cmovl ecx, edi
lea eax, [edx*8]
mov edx, dword [ebp - 0xac]
cmp eax, ecx
cmovl ecx, eax
mov eax, dword [ebp - 0xc8]
sub edx, dword [ebp - 0x80]
xor edi, edi
mov dword [ebp - 0xec], eax
mov dword [ebp - 0x94], ecx
xor ecx, ecx
lea eax, [esi + eax*8]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xc], edx
cmp eax, edx
jge 0x1d83cbf
mov eax, dword [ebp - 0x94]
neg eax
mov dword [ebp - 0xd0], eax
nop dword [eax]
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x14]
cmp ecx, dword [edx + eax]
jge 0x1d83ca1
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xcc], esi
mov eax, dword [eax + 0x1c]
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x64]
sub eax, edx
cmp edi, esi
jge 0x1d83c28
add dword [ecx + 0x20], eax
cmp edi, esi
cmovl eax, edx
mov dword [ecx + 0x1c], eax
call fcn.01d7ee20
mov esi, dword [ecx + 0x1c]
bsr eax, esi
mov edx, eax
mov dword [ebp - 0x18], eax
inc edx
lea ecx, [edx - 0x10]
shr esi, cl
mov ecx, esi
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x1e5cc6c], esi
mov esi, dword [ebp - 0x64]
sbb eax, eax
neg eax
mov esi, dword [esi + 0x14]
sub esi, edx
shl esi, 3
sub esi, eax
sub esi, ecx
mov ecx, dword [ebp - 0x7c]
cmp edi, dword [ebp - 0xcc]
jge 0x1d83ca1
mov eax, dword [ebp - 0x94]
inc edi
mov edx, dword [ebp - 0xc]
add ecx, eax
add dword [ebp - 0x80], eax
lea eax, [esi + 8]
add edx, dword [ebp - 0xd0]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0xec], 1
cmp eax, edx
jl 0x1d83bf0
test edi, edi
je 0x1d83cbf
mov eax, dword [ebp - 0xc8]
dec eax
mov edx, eax
cmp eax, 2
mov eax, 2
cmovl edx, eax
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc4]
mov edi, 0x30
mov dword [eax], ecx
add eax, 4
mov ecx, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xf8], ecx
cmp ecx, dword [ebp - 0x5c]
jl 0x1d83b80
mov ecx, dword [ebp - 0x4c]
cmp ecx, 2
jne 0x1d83dfb
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x1d83d1c
push dword [ebp - 0xd8]
mov edx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x58]
push eax
call fcn.01d80f40
add esp, 8
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0xbc]
mov eax, 0x10624dd3
imul dword [ebp - 0xf4]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ecx, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
nop dword [eax]
nop word [eax + eax]
movss xmm0, dword [ecx*4 + 0x1e5be08]
comiss xmm0, xmm1
ja 0x1d83d8a
movss xmm0, dword [ecx*4 + 0x1e5be0c]
comiss xmm0, xmm1
ja 0x1d83d89
movss xmm0, dword [ecx*4 + 0x1e5be10]
comiss xmm0, xmm1
ja 0x1d83d84
add ecx, 3
cmp ecx, 0x15
jl 0x1d83d50
jmp 0x1d83d8a
add ecx, 2
jmp 0x1d83d8a
inc ecx
cmp ecx, edi
jle 0x1d83dab
movss xmm0, dword [edi*4 + 0x1e5be08]
addss xmm0, dword [edi*4 + 0x1e5be60]
comiss xmm0, xmm1
jbe 0x1d83da9
mov ecx, edi
jmp 0x1d83dc5
cmp ecx, edi
jge 0x1d83dc5
movss xmm0, dword [edi*4 + 0x1e5be04]
subss xmm0, dword [edi*4 + 0x1e5be5c]
comiss xmm1, xmm0
cmova ecx, edi
mov edi, dword [ebp - 0x60]
mov eax, ecx
mov edx, dword [ebp - 0x50]
cmp edi, ecx
cmovg eax, edi
mov dword [edx + 0xbc], ecx
cmp dword [ebp - 0x5c], eax
jge 0x1d83deb
mov ecx, dword [ebp - 0x5c]
mov dword [edx + 0xbc], ecx
mov ecx, dword [ebp - 0x4c]
jmp 0x1d83dfe
cmp edi, ecx
cmovg ecx, edi
mov dword [edx + 0xbc], ecx
mov ecx, dword [ebp - 0x4c]
jmp 0x1d83dfe
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0xac]
lea eax, [esi + 0x30]
sub edi, dword [ebp - 0x80]
mov dword [ebp - 0x7c], 5
cmp eax, edi
jg 0x1d83efc
cmp dword [edx + 0x44], 0
je 0x1d83e29
mov edi, 5
mov dword [ebp - 0x7c], edi
jmp 0x1d83e7e
movss xmm0, dword [ebp - 0xbc]
lea eax, [edx + 0xb8]
sub esp, 8
movss dword [esp], xmm0
push dword [edx + 0xbc]
movss xmm0, dword [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
push eax
lea eax, [edx + 0x78]
mov edx, dword [ebp - 0xa8]
push eax
push dword [ebp - 0xd8]
push ecx
push dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x5c]
push dword [ebp - 0x70]
call fcn.01d80b80
add esp, 0x2c
mov dword [ebp - 0x7c], eax
mov edi, eax
mov esi, dword [ebp - 0x64]
mov ecx, dword [esi + 0x1c]
mov edx, ecx
shr edx, 7
test edi, edi
jle 0x1d83eb1
movzx eax, byte [edi + 0x1e5bdfb]
imul eax, edx
sub ecx, eax
add dword [esi + 0x20], ecx
movzx ecx, byte [edi + 0x1e5bdfb]
movzx eax, byte [edi + 0x1e5bdfc]
sub ecx, eax
imul ecx, edx
jmp 0x1d83ebd
movzx eax, byte [edi + 0x1e5bdfc]
imul eax, edx
sub ecx, eax
mov edi, dword [ebp - 0x64]
mov dword [edi + 0x1c], ecx
mov ecx, edi
call fcn.01d7ee20
mov esi, dword [edi + 0x1c]
bsr eax, esi
mov edx, eax
mov dword [ebp - 0x14], eax
inc edx
lea ecx, [edx - 0x10]
shr esi, cl
mov ecx, esi
shr ecx, 0xc
sub ecx, 8
cmp dword [ecx*4 + 0x1e5cc6c], esi
mov esi, dword [edi + 0x14]
sbb eax, eax
sub esi, edx
neg eax
shl esi, 3
sub esi, eax
sub esi, ecx
jmp 0x1d83eff
mov edi, dword [ebp - 0x64]
cmp dword [ebp - 0xfc], 0
jle 0x1d84159
mov eax, dword [ebp - 0x58]
mov ecx, 3
sub ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0xfc]
mov eax, dword [eax + 0x24]
sub eax, dword [ebp - 0x54]
mov dword [ebp - 0x94], eax
mov eax, 0x4fb
sar eax, cl
cmp dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x50]
cmovl eax, dword [ebp - 0x68]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x4c]
mov edi, dword [ecx + 0x34]
mov dword [ebp - 0xc], edi
lea eax, [eax + eax*4]
shl eax, 6
sub edx, eax
sub edx, 0xa0
test edi, edi
je 0x1d83f6b
mov eax, dword [ecx + 0xac]
mov ecx, dword [ebp - 0x94]
sar eax, cl
mov ecx, dword [ebp - 0x50]
add edx, eax
movss xmm0, dword [ebp - 0x100]
sub esp, 8
xor eax, eax
cmp dword [ecx + 0xc0], eax
movss dword [esp + 4], xmm0
setne al
movss xmm0, dword [ebp - 0xdc]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x8c]
push eax
push dword [ecx + 0x44]
push dword [ecx + 0x40]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0x108]
movss xmm0, dword [ebp - 0xb0]
push ecx
movss dword [esp], xmm0
push dword [ebp - 0x10]
movss xmm0, dword [ecx + 0xb8]
push ecx
movss dword [esp], xmm0
push edi
push dword [ecx + 0xbc]
push dword [ebp - 0x4c]
push dword [ecx + 0x5c]
push dword [ebp - 0xf4]
push dword [ebp - 0x54]
push edx
lea edx, [ecx + 0x78]
mov ecx, dword [ebp - 0x58]
call fcn.01d82220
mov edx, dword [ebp - 0x80]
add esp, 0x44
add edx, 0x3f
add edx, esi
sar edx, 6
lea edi, [esi + eax]
mov eax, dword [ebp - 0xa4]
lea ecx, [edi + 0x20]
mov esi, dword [ebp - 0x14]
sub edx, eax
add edx, 2
sar ecx, 6
cmp edx, ecx
cmovg ecx, edx
mov edx, esi
add eax, ecx
cmp esi, eax
cmovge edx, eax
sub edi, dword [ebp - 0xfc]
sub edx, dword [ebp - 0xa4]
mov ecx, edx
mov dword [ebp - 0xe0], edx
shl ecx, 6
cmp dword [ebp - 0x90], 0
je 0x1d84054
mov dword [ebp - 0xe0], 2
mov ecx, 0x80
xor edi, edi
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0xb0]
cmp eax, 0x3ca
jge 0x1d84083
movss xmm1, dword [0x1e7df40]
inc eax
mov dword [edx + 0xb0], eax
add eax, 0x14
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
jmp 0x1d8408b
movss xmm1, dword [0x1e7dd58]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1d8411f
sub ecx, dword [ebp - 0xfc]
add dword [edx + 0xa4], ecx
test eax, eax
je 0x1d8411f
mov edx, dword [edx + 0xa8]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x94]
shl edi, cl
sub edi, edx
sub edi, dword [eax + 0xac]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
add eax, edx
mov edx, dword [ebp - 0x50]
mov dword [edx + 0xa8], eax
neg eax
mov dword [edx + 0xac], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1d8411f
mov eax, dword [edx + 0xa4]
test eax, eax
jns 0x1d8411f
cdq
xor ecx, ecx
and edx, 0x3f
add eax, edx
sar eax, 6
neg eax
cmp dword [ebp - 0x90], ecx
cmovne eax, ecx
mov ecx, dword [ebp - 0xe0]
add ecx, eax
mov eax, dword [ebp - 0x50]
mov dword [eax + 0xa4], 0
jmp 0x1d84125
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x64]
add eax, ecx
cmp esi, eax
cmovl eax, esi
mov edx, dword [edi + 8]
mov dword [ebp - 0x68], eax
mov eax, dword [edi]
mov esi, dword [ebp - 0x68]
sub eax, edx
add eax, dword [edi + 4]
push edx
push eax
mov eax, esi
sub eax, edx
add eax, dword [edi]
push eax
call fcn.01e04550
add esp, 0xc
mov dword [edi + 4], esi
mov eax, dword [ebp - 0x78]
lea esi, [eax*4]
mov eax, esi
call fcn.01e277a0
mov eax, esi
mov dword [ebp - 0x100], esp
call fcn.01e277a0
mov eax, esi
mov dword [ebp - 0x108], esp
call fcn.01e277a0
mov esi, dword [edi + 0x1c]
bsr eax, esi
mov dword [ebp - 0x94], esp
mov dword [ebp - 0x10], eax
lea ecx, [eax - 0xf]
shr esi, cl
mov edx, esi
shr edx, 0xc
cmp dword [edx*4 + 0x1e5cc4c], esi
mov esi, dword [ebp - 0x68]
sbb ecx, ecx
sub edx, 9
neg ecx
lea eax, [eax + esi*8]
lea eax, [eax + 1]
lea ecx, [ecx + eax*8]
mov eax, dword [edi + 0x14]
shl eax, 3
sub ecx, eax
add edx, ecx
cmp dword [ebp - 0x88], 0
je 0x1d841e4
mov eax, dword [ebp - 0x54]
cmp eax, 2
jl 0x1d841e4
lea eax, [eax*8 + 0x10]
cmp edx, eax
jl 0x1d841e4
mov edi, 8
jmp 0x1d841e6
xor edi, edi
mov esi, dword [ebp - 0x50]
sub edx, edi
mov ecx, dword [ebp - 0x5c]
dec ecx
cmp dword [esi + 0x78], 0
je 0x1d84256
mov ecx, dword [ebp - 0x4c]
imul eax, ecx, 0x7d00
cmp dword [ebp - 0xf4], eax
jge 0x1d8420d
mov ecx, 0xd
jmp 0x1d8424b
imul eax, ecx, 0xbb80
cmp dword [ebp - 0xf4], eax
jge 0x1d84222
mov ecx, 0x10
jmp 0x1d8424b
imul eax, ecx, 0xea60
cmp dword [ebp - 0xf4], eax
jge 0x1d84237
mov ecx, 0x12
jmp 0x1d8424b
imul eax, ecx, 0x13880
xor ecx, ecx
cmp dword [ebp - 0xf4], eax
setge cl
add ecx, 0x13
mov eax, dword [esi + 0x90]
cmp eax, ecx
cmovg ecx, eax
cmp dword [esi + 0x44], 0
mov eax, 1
cmovne ecx, eax
lea eax, [esi + 0xbc]
push ecx
push dword [esi + 0x5c]
mov esi, dword [ebp - 0x64]
lea ecx, [ebp - 0x10]
push 1
push esi
push dword [ebp - 0x54]
push dword [ebp - 0x4c]
push dword [ebp - 0x94]
push dword [ebp - 0x100]
push dword [ebp - 0x108]
push ecx
push edx
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x110]
push ecx
mov ecx, dword [ebp - 0x58]
push eax
push dword [ebp - 0x7c]
push dword [ebp - 0x74]
push dword [ebp - 0xe4]
push dword [ebp - 0x5c]
call fcn.01d927e0
mov ecx, dword [ebp - 0x50]
mov esi, eax
add esp, 0x44
mov eax, dword [ecx + 0x5c]
test eax, eax
je 0x1d842de
lea edx, [eax - 1]
mov ecx, esi
cmp edx, esi
cmovg ecx, edx
inc eax
cmp eax, ecx
jl 0x1d842d6
cmp edx, esi
mov eax, esi
cmovg eax, edx
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x5c], eax
jmp 0x1d842e1
mov dword [ecx + 0x5c], esi
push dword [ebp - 0x4c]
mov edx, dword [ebp - 0x60]
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x100]
push dword [ebp - 0xc0]
push dword [ebp - 0xb8]
push dword [ebp - 0x5c]
call fcn.01d8e570
mov eax, dword [ebp - 0xe8]
add esp, 0x18
call fcn.01e277a0
cmp dword [ebp - 0x4c], 2
mov dword [ebp - 0x14], esp
jne 0x1d8432f
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xd8]
lea ecx, [eax + ecx*4]
jmp 0x1d84331
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
add eax, 0x4c
push dword [edx + 0x48]
push eax
mov eax, dword [ebp - 0x68]
push esi
push dword [ebp - 0x54]
mov esi, dword [ebp - 0x64]
push esi
push dword [ebp - 0x10]
shl eax, 6
sub eax, edi
push eax
push dword [ebp - 0x9c]
mov eax, edx
mov edx, dword [ebp - 0x14]
push dword [eax + 0xbc]
push dword [ebp - 0x110]
push dword [eax + 0x50]
push dword [ebp - 0x6c]
push dword [ebp - 0x108]
push dword [ebp - 0xd4]
push edx
mov edx, dword [ebp - 0x58]
push ecx
push dword [ebp - 0xa8]
mov ecx, 1
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.01d91760
add esp, 0x4c
test edi, edi
je 0x1d843b5
mov eax, dword [ebp - 0x50]
xor edx, edx
push 1
mov ecx, esi
cmp dword [eax + 0x74], 2
setl dl
call fcn.01d7f080
add esp, 4
bsr eax, dword [esi + 0x1c]
mov edi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x68]
push edi
push esi
lea ecx, [eax*8]
mov eax, dword [ebp - 0x10]
sub ecx, dword [esi + 0x14]
inc eax
mov esi, dword [ebp - 0xb8]
add eax, ecx
mov ecx, dword [ebp - 0x58]
push eax
push dword [ebp - 0x94]
push dword [ebp - 0x100]
push dword [ebp - 0xc0]
push esi
push dword [ebp - 0x5c]
call fcn.01d8e6c0
add esp, 0x20
cmp dword [ebp - 0x90], 0
je 0x1d84426
cmp dword [ebp - 0xe8], 0
jle 0x1d84426
mov ecx, dword [ebp - 0xa0]
mov eax, 0xc1e00000
shr ecx, 2
mov edi, esi
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x4c]
cmp dword [ebp - 0x84], 2
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x98]
movss xmm0, dword [ebp - 0x118]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebp - 0x104]
movss dword [eax + 0x6c], xmm0
mov dword [eax + 0x70], ecx
jne 0x1d84471
cmp edi, 1
mov edi, esi
jne 0x1d84473
mov ecx, dword [ebp - 0x78]
lea eax, [ecx*4]
push eax
add eax, edi
push edi
push eax
call fcn.01e27b10
add esp, 0xc
jmp 0x1d84473
mov edi, esi
cmp dword [ebp - 0x88], 0
jne 0x1d844a9
mov esi, dword [ebp - 0x10c]
push esi
push dword [ebp - 0xb4]
push dword [ebp - 0xf0]
call fcn.01e27b10
push esi
push edi
push dword [ebp - 0xb4]
call fcn.01e27b10
add esp, 0x18
jmp 0x1d845f7
mov esi, dword [ebp - 0x114]
xor ecx, ecx
test esi, esi
jle 0x1d845f7
cmp esi, 8
jb 0x1d84533
mov edx, dword [ebp - 0xb4]
lea eax, [esi*4]
add edx, 0xfffffffc
add edx, eax
add eax, 0xfffffffc
add eax, edi
cmp dword [ebp - 0xb4], eax
ja 0x1d844e1
cmp edx, edi
jae 0x1d84533
mov eax, esi
and eax, 0x80000007
jns 0x1d844ef
dec eax
or eax, 0xfffffff8
inc eax
mov edx, esi
mov esi, edi
sub edx, eax
mov eax, dword [ebp - 0xb4]
add eax, 0x10
sub esi, dword [ebp - 0xb4]
movups xmm0, xmmword [edi + ecx*4]
add ecx, 8
lea eax, [eax + 0x20]
movups xmm1, xmmword [eax - 0x30]
minps xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm0, xmmword [esi + eax - 0x20]
movups xmm1, xmmword [eax - 0x20]
minps xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp ecx, edx
jl 0x1d84504
mov esi, dword [ebp - 0x114]
cmp ecx, esi
jge 0x1d845f7
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x1d845be
mov eax, dword [ebp - 0xb4]
lea edx, [ecx + 3]
sub esi, ecx
lea edx, [edi + edx*4]
sub edi, dword [ebp - 0xb4]
sub esi, 4
shr esi, 2
lea eax, [eax + ecx*4]
add eax, 4
inc esi
lea ecx, [ecx + esi*4]
nop dword [eax + eax]
movss xmm0, dword [eax - 4]
lea eax, [eax + 0x10]
lea edx, [edx + 0x10]
minss xmm0, dword [edx - 0x1c]
movss dword [eax - 0x14], xmm0
movss xmm0, dword [eax - 0x10]
minss xmm0, dword [eax + edi - 0x10]
movss dword [eax - 0x10], xmm0
movss xmm0, dword [eax - 0xc]
minss xmm0, dword [edx - 0x14]
movss dword [eax - 0xc], xmm0
movss xmm0, dword [eax - 8]
minss xmm0, dword [edx - 0x10]
movss dword [eax - 8], xmm0
sub esi, 1
jne 0x1d84570
mov esi, dword [ebp - 0x114]
cmp ecx, esi
jge 0x1d845f7
mov edi, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
sub edx, edi
sub esi, ecx
lea eax, [edi + ecx*4]
nop word [eax + eax]
movss xmm0, dword [eax]
lea eax, [eax + 4]
minss xmm0, dword [edx + eax - 4]
movss dword [eax - 4], xmm0
sub esi, 1
jne 0x1d845e0
mov esi, dword [ebp - 0x78]
mov eax, esi
sub eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xb8]
mov edi, edx
mov ecx, dword [ebp - 0xf0]
add ecx, dword [ebp - 8]
sub edi, dword [ebp - 0xf0]
mov dword [ebp - 0x10c], eax
lea eax, [esi*4]
mov esi, dword [ebp - 0xf0]
add eax, 0xfffffffc
add eax, edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x60]
dec eax
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x90], edi
lea eax, [edx + eax*4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xb4]
mov edx, eax
sub eax, dword [ebp - 0xb8]
sub edx, dword [ebp - 0xf0]
sub esi, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0x98], esi
nop word [eax + eax]
xor esi, esi
cmp dword [ebp - 0x60], esi
jle 0x1d847c7
cmp dword [ebp - 0x60], 4
jb 0x1d8478e
mov ecx, dword [ebp - 0x98]
mov edi, dword [ebp - 0xb0]
add ecx, eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xa0]
add edi, ecx
cmp edi, dword [ebp - 8]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x90]
ja 0x1d846ef
add ecx, dword [ebp - 0x98]
add eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xa4]
cmp eax, ecx
jae 0x1d8478e
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x80]
cmp dword [ebp - 0x10], eax
ja 0x1d84702
add eax, dword [ebp - 0xb0]
cmp eax, ecx
jae 0x1d8478e
mov eax, dword [ebp - 0x98]
add eax, ecx
cmp eax, dword [ebp - 0x80]
ja 0x1d84714
cmp dword [ebp - 8], ecx
jae 0x1d8478e
mov ecx, dword [ebp - 0x60]
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x1d84725
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
add esi, 4
cmp esi, ecx
jl 0x1d84727
mov edi, dword [ebp - 0x6c]
lea eax, [ecx + 3]
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov dword [ebp - 8], edx
mov ecx, edx
mov edx, dword [ebp - 0xb8]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0xf0]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x6c]
mov eax, 0xc1e00000
mov ecx, dword [ebp - 8]
shr ecx, 2
lea edi, [edx + edi*4]
mov edx, dword [ebp - 0x6c]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 8]
shr ecx, 2
lea edi, [edi + edx*4]
mov edx, dword [ebp - 0xa4]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x90]
cmp esi, dword [ebp - 0x60]
jge 0x1d847c4
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xf0]
add eax, esi
lea eax, [ecx + eax*4]
mov ecx, dword [ebp - 0x60]
sub ecx, esi
mov dword [edi + eax], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [edx + eax - 4], 0xc1e00000
sub ecx, 1
jne 0x1d847a6
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x5c]
mov esi, eax
mov edx, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x78]
jge 0x1d848d5
cmp dword [ebp - 0x10c], 4
jb 0x1d84891
mov edi, dword [ebp - 0x98]
add edx, ecx
mov eax, dword [ebp - 0x74]
add edi, eax
cmp edx, edi
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0xb0]
ja 0x1d84818
add eax, edx
cmp eax, ecx
jae 0x1d84891
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 8], eax
ja 0x1d8482b
add ecx, edi
add eax, edx
cmp eax, ecx
jae 0x1d84891
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
cmp ecx, eax
ja 0x1d84837
lea eax, [ecx + edi]
cmp dword [ebp - 0x10], eax
jae 0x1d84891
mov eax, dword [ebp - 0x10c]
and eax, reloc.WS2_32.dll_closesocket
jns 0x1d84849
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [ebp - 0x78]
sub ecx, eax
nop
add esi, 4
cmp esi, ecx
jl 0x1d84850
sub ecx, dword [ebp - 0x5c]
add edi, dword [ebp - 0x70]
lea eax, [ecx + 3]
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov ecx, edx
mov dword [ebp - 0x10], edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x70]
mov ecx, edx
shr ecx, 2
mov eax, 0xc1e00000
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 8]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x78]
cmp esi, ecx
jge 0x1d848d2
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0xf0]
add eax, esi
mov edi, dword [ebp - 0x90]
sub ecx, esi
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0xa4]
mov dword [eax + edi], 0
lea eax, [eax + 4]
mov dword [eax - 4], 0xc1e00000
mov dword [eax + edx - 4], 0xc1e00000
sub ecx, 1
jne 0x1d848b4
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
add dword [ebp - 0x6c], eax
mov esi, dword [ebp - 0x104]
mov eax, dword [ebp - 0x80]
lea edi, [edx*4]
add dword [ebp - 0xa0], edi
inc esi
add dword [ebp - 0x74], edi
add eax, edi
mov edx, dword [ebp - 0xa4]
add ecx, edi
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x70], ecx
cmp esi, dword [ebp - 0x84]
jl 0x1d84690
cmp dword [ebp - 0x88], 0
jne 0x1d8493e
cmp dword [ebp - 0x11c], 0
jne 0x1d8493e
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x74], 0
jmp 0x1d84944
mov eax, dword [ebp - 0x50]
inc dword [eax + 0x74]
mov esi, dword [ebp - 0x64]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x4c], ecx
mov ecx, esi
call fcn.01d7f0f0
cmp dword [esi + 0x2c], 0
mov ecx, 0xfffffffd
mov eax, dword [ebp - 0x68]
cmovne eax, ecx
jmp 0x1d84968
or eax, 0xffffffff
lea esp, [ebp - 0x140]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.01e029b1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret