Function at 0x4134f0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push esi
push edi
sub esp, 0x470
mov eax, 0x2d2d2020
mov edx, dword [ebx + 0x30]
mov dword [0x7b5615], eax
mov dword [0x7b5619], eax
mov ecx, dword [edx]
mov dword [0x7b561d], eax
test ecx, ecx
jle 0x413620
mov edx, 1
mov eax, 0xffffffff
mov edi, edx
mov esi, 0x7b5615
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x458], ecx
push 0x80120
push 0x7700b0
movss xmm0, dword [0x708b30]
lea ecx, [ebp - 0x18]
push ecx
mov ecx, dword [ebx + 0x2c]
lea eax, [ebp - 0x38]
movss xmm1, dword [0x708b34]
movss xmm4, dword [0x708b28]
movss xmm3, dword [ecx + edi*4 - 4]
movaps xmm6, xmm4
andps xmm0, xmm3
addss xmm6, xmm4
pxor xmm3, xmm0
movaps xmm2, xmm3
mov ecx, dword [ebp - 0x454]
cmpltss xmm2, xmm1
andps xmm2, xmm1
movaps xmm1, xmm3
push 0x7086c0
push 0x8384ff00
push eax
xor eax, eax
lea ecx, [edx + ecx + 4]
test ecx, ecx
addss xmm1, xmm2
mov dword [ebp - 0x38], eax
cmovle ecx, eax
mov dword [ebp - 0x14], esi
subss xmm1, xmm2
movaps xmm7, xmm1
mov dword [ebp - 0x18], ecx
subss xmm7, xmm3
movaps xmm5, xmm7
cmpless xmm7, dword [0x708b38]
cmpnless xmm5, xmm4
andps xmm5, xmm6
andps xmm7, xmm6
mov dword [ebp - 0x450], edx
subss xmm1, xmm5
addss xmm1, xmm7
orps xmm1, xmm0
cvtss2si eax, xmm1
mov dword [ebp - 0x10], eax
call fcn.005dd880
mov edx, dword [ebp - 0x450]
add esp, 0x18
inc edi
add esi, 4
add dword [ebp - 0x454], 0xfffffffc
add edx, 4
cmp edi, dword [ebp - 0x458]
jle 0x413547
test byte [0x7d0db0], 1
je 0x414c25
mov eax, dword [ebx + 0x68]
cdq
movd xmm2, eax
movq xmm0, qword [0x708b00]
mov ecx, dword [ebx + 0xc]
movd xmm1, edx
punpckldq xmm2, xmm1
mov dword [esp], 0x7b5621
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
call fcn.005cbf40
mov eax, dword [ebx + 0x6c]
cdq
movd xmm2, eax
movq xmm0, qword [0x708b08]
mov ecx, dword [ebx + 0x10]
movd xmm1, edx
punpckldq xmm2, xmm1
mov dword [esp], 0x7b5560
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
movq qword [esp + 0x10], xmm2
mov dword [esp + 0x18], 0
call fcn.005cbf40
movq xmm0, qword [0x708b10]
movq xmm1, qword [0x708b18]
mov dword [esp], 0x7b5580
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x708b40
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005cbf40
mov eax, dword [ebx + 0x40]
mov dword [0x7b5631], 0x20202020
mov edx, dword [eax]
test edx, edx
jle 0x4138a8
cmp edx, 8
jl 0x414c36
mov edi, dword [ebx + 0x34]
and edi, 0xf
je 0x41371f
test edi, 3
jne 0x414c36
neg edi
add edi, 0x10
shr edi, 2
lea eax, [edi + 8]
cmp edx, eax
jl 0x414c36
mov eax, edx
xor esi, esi
sub eax, edi
pxor xmm0, xmm0
and eax, 7
neg eax
add eax, edx
test edi, edi
jbe 0x41376f
mov dword [ebp - 0x458], edx
xor ecx, ecx
mov edx, dword [ebx + 0x34]
movss xmm1, dword [edx + ecx*4]
andps xmm1, xmmword [0x708af0]
comiss xmm1, dword [0x708b3c]
jbe 0x413760
inc esi
inc ecx
maxss xmm0, xmm1
cmp ecx, edi
jb 0x41374a
mov edx, dword [ebp - 0x458]
movups xmm3, xmmword [0x708ad0]
movd xmm1, esi
shufps xmm0, xmm0, 0
movups xmm2, xmmword [0x708ae0]
mov ecx, dword [ebx + 0x34]
movups xmm4, xmmword [ecx + edi*4]
movaps xmm5, xmm3
movups xmm6, xmmword [ecx + edi*4 + 0x10]
andps xmm4, xmm2
cmpltps xmm5, xmm4
maxps xmm0, xmm4
andps xmm6, xmm2
movaps xmm7, xmm3
cmpltps xmm7, xmm6
maxps xmm0, xmm6
add edi, 8
psubd xmm1, xmm5
psubd xmm1, xmm7
cmp edi, eax
jb 0x413788
movaps xmm4, xmm0
movdqa xmm6, xmm1
movhlps xmm4, xmm0
lea esi, [eax + 1]
maxps xmm0, xmm4
movaps xmm5, xmm0
shufps xmm5, xmm0, 0xf5
psrldq xmm6, 8
maxss xmm0, xmm5
paddd xmm1, xmm6
movdqa xmm7, xmm1
psrlq xmm7, 0x20
paddd xmm1, xmm7
movd ecx, xmm1
cmp esi, edx
ja 0x413898
sub edx, eax
cmp edx, 4
jl 0x414c2f
mov edi, dword [ebx + 0x34]
mov esi, edx
movd xmm1, ecx
xor ecx, ecx
shufps xmm0, xmm0, 0
and esi, 0xfffffffc
lea edi, [edi + eax*4]
movups xmm4, xmmword [edi + ecx*4]
movaps xmm5, xmm3
andps xmm4, xmm2
add ecx, 4
cmpltps xmm5, xmm4
maxps xmm0, xmm4
psubd xmm1, xmm5
cmp ecx, esi
jb 0x413817
movaps xmm2, xmm0
movdqa xmm4, xmm1
movhlps xmm2, xmm0
maxps xmm0, xmm2
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xf5
psrldq xmm4, 8
maxss xmm0, xmm3
paddd xmm1, xmm4
movdqa xmm5, xmm1
psrlq xmm5, 0x20
paddd xmm1, xmm5
movd ecx, xmm1
cmp esi, edx
jae 0x413898
mov dword [ebp - 0x458], edx
mov edx, dword [ebx + 0x34]
lea edi, [eax + esi]
movss xmm1, dword [edx + edi*4]
andps xmm1, xmmword [0x708af0]
comiss xmm1, dword [0x708b3c]
jbe 0x41388b
inc ecx
inc esi
maxss xmm0, xmm1
cmp esi, dword [ebp - 0x458]
jb 0x41386f
test ecx, ecx
jle 0x4138ac
mov dword [0x7b5631], 0x4f4e2020
jmp 0x4138e9
pxor xmm0, xmm0
comiss xmm0, dword [str.fff_]
jb 0x4138c1
mov dword [0x7b5631], 0x2a2a2a20
jmp 0x4138e9
comiss xmm0, dword [0x708b24]
jb 0x4138d6
mov dword [0x7b5631], 0x2a2a2020
jmp 0x4138e9
comiss xmm0, dword [0x708b28]
jb 0x4138e9
mov dword [0x7b5631], 0x2a202020
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x18]
mov edx, dword [eax]
lea eax, [edx - 3]
cmp eax, 0x14
ja 0x413908
movzx eax, word [eax*2 + 0x708a88]
add eax, 0x41396b
jmp eax
cmp edx, 0xc18
je 0x414266
cmp edx, 0xc1f
je 0x414266
cmp edx, 0xc29
je 0x414266
lea eax, [edx - 0x1870f]
cmp eax, 1
jbe 0x414266
cmp edx, 0x30ce7
je 0x414266
cmp edx, 0x30d47
je 0x414266
cmp edx, 0x49387
je 0x414266
cmp edx, 0x49391
je 0x414266
cmp edx, 0x49387
jne 0x413e20
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax]
comiss xmm0, dword [0x708b2c]
ja 0x41399c
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x708b2c]
jbe 0x413bde
push 0x80120
push 0x76f5b8
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x3e0]
push eax
push 0x7086c8
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0x308], 3
lea eax, [ebp - 0x308]
push eax
push 0x7086d0
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0x300], 0x10
lea eax, [ebp - 0x300]
push eax
push 0x7086d8
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0x2f8]
push ecx
push 0x7086e0
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x2b0]
push ecx
push 0x7086e8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x2a8]
push ecx
push 0x7086f0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x2a0]
push ecx
push 0x7086f8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x298]
push ecx
push 0x708700
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x2f0], 0xc
lea eax, [ebp - 0x2f0]
push eax
push 0x708708
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x290]
push ecx
push 0x708710
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x288]
push ecx
push 0x708718
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x280]
push ecx
push 0x708720
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x64]
lea ecx, [ebp - 0x278]
push ecx
push 0x708728
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x270]
push ecx
push 0x708730
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x78]
lea ecx, [ebp - 0x2e8]
push ecx
push 0x708738
mov edx, dword [ebx + 0x44]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x268]
push ecx
push 0x708740
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x260]
push ecx
push 0x708748
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x2e0], 4
lea eax, [ebp - 0x2e0]
push eax
push 0x708750
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x258]
push ecx
push 0x708758
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
add esp, 0x78
jmp 0x4146ba
push 0x80120
push 0x76fa80
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x458]
push eax
push 0x708760
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0x438], 3
lea eax, [ebp - 0x438]
push eax
push 0x708768
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0x430], 0x10
lea eax, [ebp - 0x430]
push eax
push 0x708770
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0x428]
push ecx
push 0x708778
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x3c0]
push ecx
push 0x708780
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x3b8]
push ecx
push 0x708788
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x3b0]
push ecx
push 0x708790
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x3a8]
push ecx
push 0x708798
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x420], 0xc
lea eax, [ebp - 0x420]
push eax
push 0x7087a0
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x3a0]
push ecx
push 0x7087a8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x398]
push ecx
push 0x7087b0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x390]
push ecx
push 0x7087b8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x64]
lea ecx, [ebp - 0x388]
push ecx
push 0x7087c0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x380]
push ecx
push 0x7087c8
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x78]
lea ecx, [ebp - 0x418]
push ecx
push 0x7087d0
mov edx, dword [ebx + 0x44]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x378]
push ecx
push 0x7087d8
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x370]
push ecx
push 0x7087e0
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x410], 4
lea eax, [ebp - 0x410]
push eax
push 0x7087e8
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x368]
push ecx
push 0x7087f0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
add esp, 0x78
jmp 0x4146ba
cmp edx, 5
jne 0x414c56
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax]
comiss xmm0, dword [0x708b2c]
ja 0x413e4e
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x708b2c]
jbe 0x41405a
push 0x80120
push 0x76f764
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x3d0]
push eax
push 0x7087f8
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0x2d8], 3
lea eax, [ebp - 0x2d8]
push eax
push 0x708800
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0x2d0], 0x10
lea eax, [ebp - 0x2d0]
push eax
push 0x708808
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0x2c8]
push ecx
push 0x708810
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x250]
push ecx
push 0x708818
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x248]
push ecx
push 0x708820
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x240]
push ecx
push 0x708828
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x238]
push ecx
push 0x708830
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x2c0], 0xc
lea eax, [ebp - 0x2c0]
push eax
push 0x708838
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x230]
push ecx
push 0x708840
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x228]
push ecx
push 0x708848
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x220]
push ecx
push 0x708850
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x218]
push ecx
push 0x708858
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x210]
push ecx
push 0x708860
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x208]
push ecx
push 0x708868
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x2b8], 4
lea eax, [ebp - 0x2b8]
push eax
push 0x708870
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x200]
push ecx
push 0x708878
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
add esp, 0x60
jmp 0x4146ba
push 0x80120
push 0x76fc2c
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x448]
push eax
push 0x708880
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0x408], 3
lea eax, [ebp - 0x408]
push eax
push 0x708888
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0x400], 0x10
lea eax, [ebp - 0x400]
push eax
push 0x708890
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0x3f8]
push ecx
push 0x708898
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x360]
push ecx
push 0x7088a0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x358]
push ecx
push 0x7088a8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x350]
push ecx
push 0x7088b0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x348]
push ecx
push 0x7088b8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x3f0], 0xc
lea eax, [ebp - 0x3f0]
push eax
push 0x7088c0
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x340]
push ecx
push 0x7088c8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x338]
push ecx
push 0x7088d0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x330]
push ecx
push 0x7088d8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x328]
push ecx
push 0x7088e0
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x320]
push ecx
push 0x7088e8
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x318]
push ecx
push 0x7088f0
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x3e8], 4
lea eax, [ebp - 0x3e8]
push eax
push 0x7088f8
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x310]
push ecx
push 0x708900
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
add esp, 0x60
jmp 0x4146ba
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax]
comiss xmm0, dword [0x708b2c]
ja 0x41428b
mov eax, dword [ebx + 0x34]
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x708b2c]
jbe 0x414496
push 0x80120
push 0x76f8ec
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x188]
push eax
push 0x708908
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0xe8], 3
lea eax, [ebp - 0xe8]
push eax
push 0x708910
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xe0]
push eax
push 0x708918
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0xd8]
push ecx
push 0x708920
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x90]
push ecx
push 0x708928
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x88]
push ecx
push 0x708930
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x80]
push ecx
push 0x708938
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x78]
push ecx
push 0x708940
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0xd0], 0xc
lea eax, [ebp - 0xd0]
push eax
push 0x708948
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x70]
push ecx
push 0x708950
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x68]
push ecx
push 0x708958
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x60]
push ecx
push 0x708960
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x58]
push ecx
push 0x708968
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x78]
lea ecx, [ebp - 0xc8]
push ecx
push 0x708970
mov edx, dword [ebx + 0x44]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x50]
push ecx
push 0x708978
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x48]
push ecx
push 0x708980
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0xc0], 4
lea eax, [ebp - 0xc0]
push eax
push 0x708988
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x40]
push ecx
push 0x708990
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
jmp 0x4146b7
push 0x80120
push 0x76fdb4
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x1f8]
push eax
push 0x708998
push 0x8384ff00
mov dword [eax], 0x95
lea esi, [ebp - 0x38]
push esi
mov dword [eax + 4], 0x7b5580
mov dword [eax + 8], 0x10
mov dword [eax + 0xc], 0x7b5621
call fcn.005dd880
mov dword [ebp - 0x1b8], 3
lea eax, [ebp - 0x1b8]
push eax
push 0x7089a0
push esi
mov dword [eax + 4], 0x7b5560
call fcn.005df240
mov dword [ebp - 0x1b0], 0x10
lea eax, [ebp - 0x1b0]
push eax
push 0x7089a8
push esi
mov dword [eax + 4], edi
call fcn.005df240
mov eax, dword [ebx + 0x70]
lea ecx, [ebp - 0x1a8]
push ecx
push 0x7089b0
mov edx, dword [ebx + 0x14]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x160]
push ecx
push 0x7089b8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x158]
push ecx
push 0x7089c0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x150]
push ecx
push 0x7089c8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x148]
push ecx
push 0x7089d0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x1a0], 0xc
lea eax, [ebp - 0x1a0]
push eax
push 0x7089d8
push esi
mov dword [eax + 4], 0x7b5615
call fcn.005df240
add esp, 0x78
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x140]
push ecx
push 0x7089e0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x138]
push ecx
push 0x7089e8
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x130]
push ecx
push 0x7089f0
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x34]
lea ecx, [ebp - 0x128]
push ecx
push 0x7089f8
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x78]
lea ecx, [ebp - 0x198]
push ecx
push 0x708a00
mov edx, dword [ebx + 0x44]
push esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.005df240
mov eax, dword [ebx + 0x38]
lea ecx, [ebp - 0x120]
push ecx
push 0x708a08
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov eax, dword [ebx + 0x3c]
lea ecx, [ebp - 0x118]
push ecx
push 0x708a10
mov edx, dword [eax + 4]
push esi
mov dword [ecx], edx
call fcn.005df240
mov dword [ebp - 0x190], 4
lea eax, [ebp - 0x190]
push eax
push 0x708a18
push esi
mov dword [eax + 4], 0x7b5631
call fcn.005df240
mov eax, dword [ebx + 0x60]
lea ecx, [ebp - 0x110]
push ecx
push 0x708a20
mov edx, dword [eax]
push esi
mov dword [ecx], edx
call fcn.005df240
add esp, 0x6c
push 0x95
lea eax, [ebp - 0x3b4]
push eax
push 0x7b5580
call fcn.00403520
push 0x80120
push 0x76ff48
mov edx, dword [ebp - 0x3b4]
lea eax, [ebp - 0x98]
push eax
push 0x708a28
mov ecx, edx
push 0x8384ff00
sar ecx, 0x1f
push dword [0x78dbb8]
not ecx
push esi
and ecx, edx
mov dword [ebp - 0x38], 0
mov dword [eax + 4], 0x7b5580
mov dword [eax], ecx
call fcn.005d83f0
push dword [ebx + 0x74]
mov edx, 0x20
lea eax, [ebp - 0x3ac]
push eax
push edi
inc dword [0x7d0d80]
mov byte [0x7b5621], dl
mov byte [0x7b5622], dl
mov byte [0x7b5623], dl
mov byte [0x7b5624], dl
mov byte [0x7b5625], dl
mov byte [0x7b5626], dl
mov byte [0x7b5627], dl
mov byte [0x7b5628], dl
mov byte [0x7b5629], dl
mov byte [0x7b562a], dl
mov byte [0x7b562b], dl
mov byte [0x7b562c], dl
mov byte [0x7b562d], dl
mov byte [0x7b562e], dl
mov byte [0x7b562f], dl
mov byte [0x7b5630], dl
mov byte [0x7b5560], dl
mov byte [0x7b5561], dl
mov byte [0x7b5562], dl
mov byte [0x7b5563], dl
mov byte [0x7b5564], dl
mov byte [0x7b5565], dl
mov byte [0x7b5566], dl
mov byte [0x7b5567], dl
call fcn.00403520
add esp, 0x34
mov eax, dword [ebp - 0x3ac]
cmp eax, 0x10
jle 0x414814
push 0x80120
push 0x76f5a0
add eax, 0xfffffff0
lea edx, [ebp - 0x108]
push edx
push 0x708a30
push 0x8384ff00
xor ecx, ecx
test eax, eax
push dword [0x78dbb8]
push esi
mov dword [ebp - 0x38], ecx
cmovg ecx, eax
mov dword [edx], ecx
lea eax, [edi + 0x10]
mov dword [edx + 4], eax
call fcn.005d83f0
add esp, 0x1c
inc dword [0x7d0d80]
mov eax, dword [ebx + 0x48]
test byte [eax], 1
je 0x414c25
mov ecx, dword [ebx + 0x7c]
mov eax, 1
mov edx, dword [ebx + 0x4c]
mov edi, ecx
sub edx, ecx
mov esi, eax
mov dword [ebp - 0x3bc], edx
movq xmm0, qword [0x708b10]
movq xmm1, qword [0x708b18]
mov dword [esp], 0x7b5580
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x708b44
movq qword [esp + 0x10], xmm1
mov dword [esp + 0x18], 0
call fcn.005cbf40
mov edx, dword [ebx + 0x50]
movss xmm0, dword [0x708b30]
movss xmm1, dword [0x708b34]
movss xmm3, dword [edx + esi*4 - 4]
andps xmm3, xmmword [0x708af0]
andps xmm0, xmm3
movss xmm4, dword [0x708b28]
movaps xmm6, xmm4
comiss xmm3, dword [0x708b3c]
addss xmm6, xmm4
pxor xmm3, xmm0
movaps xmm2, xmm3
cmpltss xmm2, xmm1
andps xmm2, xmm1
movaps xmm1, xmm3
addss xmm1, xmm2
subss xmm1, xmm2
movaps xmm7, xmm1
subss xmm7, xmm3
movaps xmm5, xmm7
cmpless xmm7, dword [0x708b38]
cmpnless xmm5, xmm4
andps xmm5, xmm6
andps xmm7, xmm6
subss xmm1, xmm5
addss xmm1, xmm7
orps xmm1, xmm0
jb 0x414a2e
cvttss2si edx, xmm1
mov ecx, dword [ebx + 0x5c]
cmp edx, dword [ecx]
jge 0x414a2e
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp edx, 1
mov dword [ebp - 0x1c0], edx
cmovg ecx, edx
mov edx, dword [ebp - 0x3bc]
push 0x80120
push 0x770018
mov dword [ebp - 0x38], 0
add edx, edi
mov dword [ebp - 0x1c4], edx
lea edx, [ebp - 0x1d0]
push edx
push 0x708a38
push 0x8384ff00
mov dword [edx], 0x95
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x1cc], 0x7b5580
mov dword [ebp - 0x1c8], ecx
call fcn.005dd880
mov edx, dword [ebx + 0x50]
movss xmm0, dword [0x708b30]
movss xmm1, dword [0x708b34]
movss xmm3, dword [edx + esi*4 - 4]
lea edx, [ebp - 0xb0]
andps xmm3, xmmword [0x708af0]
andps xmm0, xmm3
pxor xmm3, xmm0
movaps xmm2, xmm3
movss xmm4, dword [0x708b28]
cmpltss xmm2, xmm1
andps xmm2, xmm1
movaps xmm1, xmm3
movaps xmm6, xmm4
addss xmm1, xmm2
addss xmm6, xmm4
subss xmm1, xmm2
movaps xmm7, xmm1
push edx
push 0x708a40
subss xmm7, xmm3
movaps xmm5, xmm7
lea edx, [ebp - 0x38]
push edx
cmpnless xmm5, xmm4
cmpless xmm7, dword [0x708b38]
andps xmm5, xmm6
andps xmm7, xmm6
subss xmm1, xmm5
addss xmm1, xmm7
orps xmm1, xmm0
cvtss2si ecx, xmm1
mov dword [edx - 0x78], ecx
call fcn.005df240
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + esi*4 - 4]
lea edx, [ebp - 0xa8]
push edx
push 0x708a48
mov dword [edx], ecx
lea edx, [ebp - 0x38]
push edx
call fcn.005df240
add esp, 0x30
mov edx, dword [ebx + 0x58]
mov ecx, dword [edx + esi*4 - 4]
lea edx, [ebp - 0xa0]
mov dword [edx], ecx
mov ecx, 0x708a50
jmp 0x414b39
mov edx, dword [ebx + 0x50]
pxor xmm1, xmm1
movss xmm0, dword [edx + esi*4 - 4]
andps xmm0, xmmword [0x708af0]
comiss xmm0, xmm1
jbe 0x414bb2
mov edx, dword [ebx + 0x50]
movss xmm0, dword [0x708b3c]
movss xmm1, dword [edx + esi*4 - 4]
andps xmm1, xmmword [0x708af0]
comiss xmm0, xmm1
jbe 0x414bb2
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp edx, 1
mov dword [ebp - 0x1d8], edx
cmovg ecx, edx
mov edx, dword [ebp - 0x3bc]
push 0x80120
push 0x76ff80
mov dword [ebp - 0x38], 0
add edx, edi
mov dword [ebp - 0x1dc], edx
lea edx, [ebp - 0x1e8]
push edx
push 0x708a58
push 0x8384ff00
mov dword [edx], 0x95
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x1e4], 0x7b5580
mov dword [ebp - 0x1e0], ecx
call fcn.005dd880
mov edx, dword [ebx + 0x50]
lea ecx, [ebp - 0x100]
movss xmm0, dword [0x708b3c]
push ecx
movss xmm1, dword [edx + esi*4 - 4]
lea edx, [ebp - 0x38]
andps xmm1, xmmword [0x708af0]
divss xmm0, xmm1
push 0x708a60
push edx
movss dword [ecx], xmm0
call fcn.005df240
mov edx, dword [ebx + 0x54]
mov ecx, dword [edx + esi*4 - 4]
lea edx, [ebp - 0xf8]
push edx
push 0x708a68
mov dword [edx], ecx
lea edx, [ebp - 0x38]
push edx
call fcn.005df240
add esp, 0x30
mov edx, dword [ebx + 0x58]
mov ecx, dword [edx + esi*4 - 4]
lea edx, [ebp - 0xf0]
mov dword [edx], ecx
mov ecx, 0x708a70
push edx
push ecx
lea edx, [ebp - 0x38]
push edx
call fcn.005df240
push 0x95
lea edx, [ebp - 0x3b4]
push edx
push 0x7b5580
call fcn.00403520
push 0x80120
push 0x76ff48
mov dword [ebp - 0x38], 0
lea edx, [ebp - 0xb8]
push edx
push 0x708a78
push 0x8384ff00
push dword [0x78dbb8]
mov dword [edx + 4], 0x7b5580
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0x3b4]
push ecx
mov ecx, edx
sar ecx, 0x1f
not ecx
and ecx, edx
mov dword [ebp - 0xb8], ecx
call fcn.005d83f0
add esp, 0x34
inc dword [0x7d0d80]
jmp 0x414c18
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp edx, 1
mov dword [ebp - 0x168], edx
cmovg ecx, edx
mov edx, dword [ebp - 0x3bc]
push 0x80120
push 0x76ff54
mov dword [ebp - 0x38], 0
add edx, edi
mov dword [ebp - 0x16c], edx
lea edx, [ebp - 0x178]
push edx
push 0x708a80
push 0x8384ff00
mov dword [edx], 0x95
lea edx, [ebp - 0x38]
push edx
mov dword [ebp - 0x174], 0x7b5580
mov dword [ebp - 0x170], ecx
call fcn.005dd880
add esp, 0x18
inc esi
add edi, dword [ebx + 0x7c]
cmp esi, 2
jle 0x414837
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
xor esi, esi
jmp 0x413865
cmp edx, 1
jb 0x4138a8
pxor xmm0, xmm0
test edx, edx
jbe 0x4138ac
xor ecx, ecx
xor eax, eax
xor esi, esi
jmp 0x413869
lea esi, [ebp - 0x38]
jmp 0x4146ba