Function at 0x10003b39
Capabilities:
Access peb ldr_data

Disassembly:
jmp 0x1004bf40
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
push 0xffffffffffffffff
push 0x10192158
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x268
mov eax, dword [0x10428e00]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1c4], ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ecx], eax
lea eax, [ecx + 4]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x26c], eax
mov eax, dword [ecx]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x164], esi
xor esi, esi
mov eax, dword [eax]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x158], edi
movss xmm0, dword [eax]
mov eax, dword [ecx + 0x10]
movss dword [ebp - 0x1c4], xmm0
mov edx, dword [eax]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [eax]
mov word [ecx + 5], si
lea edi, [ecx + 0xc]
mov byte [ecx + 7], 0
mov byte [ecx + 4], 0
mov dword [ecx + 0x14], 0x7f7fffff
mov dword [ecx + 0x10], 0x7f7fffff
mov dword [ecx + 0xc], 0x7f7fffff
mov dword [ecx + 0x20], 0x7f7fffff
mov dword [ecx + 0x1c], 0x7f7fffff
mov dword [ecx + 0x18], 0x7f7fffff
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x28], esi
mov dword [ecx + 0x2c], esi
mov dword [ecx + 0x30], esi
mov dword [ecx + 0x38], esi
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], esi
mov dword [ebp - 0x13c], edi
mov dword [ecx + 0x48], esi
mov dword [ecx + 0x4c], esi
mov dword [ecx + 0x50], esi
mov dword [ecx + 8], eax
mov dword [ecx + 0x34], edx
mov ecx, edi
mov edi, dword [ebp - 0x158]
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x164]
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov esi, dword [ebp - 0x1c8]
add esi, 4
mov dword [ecx + 8], eax
mov eax, dword [edi]
mov ecx, 0x109c3640
mov dword [esi + 0x14], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 8]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x24], 0xd
call fcn.10001c8f
movss xmm0, dword [0x101a9d14]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101a3ff4]
cvttss2si eax, xmm0
mov dword [ebp - 0x164], eax
neg eax
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x30]
add eax, 0xffffffd5
cmp eax, 5
ja case.default.0x1004c0d0
jmp dword [eax*4 + 0x1004e3f0]
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a8f6c]
jmp 0x1004c14a
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a4004]
jmp 0x1004c14a
mov dword [esi + 0x28], 0x3fc00000
jmp 0x1004c138
mov eax, dword [0x109c7d58]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x109347c4]
cmp eax, dword [ecx + 0x104]
jg 0x1004de21
mov ecx, dword [0x109347c0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fstp dword [esi + 0x28]
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a9d10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101a3ff4]
cvttss2si eax, xmm0
mov dword [esi + 0x38], eax
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a47a8]
mov ecx, dword [esi + 0x34]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101a3ff4]
cvttss2si eax, xmm0
cmp ecx, eax
jge 0x1004dd88
mov edi, 0x8400b
cmp dword [esi + 0x38], ecx
jg 0x1004c2ab
mov eax, dword [esi + 0x30]
add eax, 0xffffffd5
cmp eax, 5
ja case.default.0x1004c1a9
jmp dword [eax*4 + 0x1004e408]
movss xmm1, dword [esi + 0x18]
movss xmm2, dword [esi + 0x14]
movss xmm0, dword [esi + 0x1c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x101a8338]
comiss xmm0, xmm2
jb case.default.0x1004c1a9
mov dword [esi + 0x3c], ecx
mov byte [esi], 1
mov ecx, dword [esi + 0x48]
mov byte [ebp - 0x131], 0
cmp ecx, dword [esi + 0x4c]
je 0x1004c267
movq xmm0, qword [esi + 8]
movq qword [ecx], xmm0
mov eax, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov byte [ecx + 0xc], 0
add dword [esi + 0x48], 0x10
jmp 0x1004c27b
movss xmm1, dword [esi + 0x18]
movss xmm2, dword [esi + 0x14]
movss xmm0, dword [esi + 0x1c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss xmm0, dword [0x101a9d18]
jmp 0x1004c1db
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm1, dword [eax + 0x20]
mov eax, dword [esi + 0x34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
comiss xmm0, dword [esi + 0x28]
jbe case.default.0x1004c1a9
mov dword [esi + 0x3c], eax
jmp 0x1004c1e7
lea eax, [ebp - 0x131]
push eax
lea eax, [esi + 8]
push eax
push ecx
lea ecx, [esi + 0x44]
call fcn.10001e10
mov edi, 0x8400b
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a3fe8]
mov ecx, dword [esi + 0x34]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101a3ff4]
cvttss2si eax, xmm0
add eax, ecx
mov dword [esi + 0x38], eax
cmp ecx, dword [ebp - 0x1d8]
jl 0x1004dd52
cmp byte [esi], 0
jne 0x1004dd88
mov eax, dword [0x109c7d58]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x109347b4]
cmp eax, dword [ecx + 0x104]
jg 0x1004de72
mov ecx, dword [0x109347b0]
movss xmm0, dword [esi + 0x1c]
movss dword [ebp - 0x138], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fmul dword [0x101a897c]
mov ecx, 0x109c3640
fstp dword [ebp - 0x13c]
call fcn.10001c8f
movss xmm0, dword [ebp - 0x13c]
mov ecx, 0x109c3640
movss xmm1, dword [ebp - 0x138]
mulss xmm0, dword [eax + 0x20]
subss xmm1, xmm0
movss dword [ebp - 0x138], xmm1
call fcn.10001c8f
movss xmm1, dword [ebp - 0x138]
mov ecx, 0x109c3640
addss xmm1, dword [esi + 0x1c]
mulss xmm1, dword [0x101a3ff4]
mulss xmm1, dword [eax + 0x20]
movss dword [ebp - 0x158], xmm1
call fcn.10001c8f
mov ecx, 0x109c3640
movss xmm0, dword [eax + 0x20]
mulss xmm0, dword [esi + 0x18]
movss dword [ebp - 0x160], xmm0
call fcn.10001c8f
movss xmm0, dword [ebp - 0x138]
mov ecx, 0x4208608b
mov edx, dword [0x109c7d58]
movss xmm2, dword [ebp - 0x158]
movss xmm1, dword [eax + 0x20]
mov eax, dword [esi + 0x24]
cmp eax, 1
mulss xmm1, dword [esi + 0x14]
cmove ecx, edi
lea edi, [esi + 8]
movss dword [esi + 0x1c], xmm0
movss xmm0, dword [ebp - 0x160]
addss xmm0, dword [edi + 4]
addss xmm2, dword [edi + 8]
mov dword [ebp - 0x14c], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
movss dword [ebp - 0x13c], xmm1
addss xmm1, dword [edi]
mov dword [ebp - 0x138], ecx
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x144], eax
mov eax, dword [0x1093479c]
mov dword [ebp - 0x128], 0x7f7fffff
mov dword [ebp - 0x12c], 0x7f7fffff
mov dword [ebp - 0x130], 0x7f7fffff
mov dword [ebp - 0x11c], 0x7f7fffff
mov dword [ebp - 0x120], 0x7f7fffff
mov dword [ebp - 0x124], 0x7f7fffff
mov dword [ebp - 0x110], 0x7f7fffff
mov dword [ebp - 0x114], 0x7f7fffff
mov dword [ebp - 0x118], 0x7f7fffff
movss dword [ebp - 0x154], xmm1
movss dword [ebp - 0x140], xmm0
movss dword [ebp - 0x15c], xmm2
movss dword [ebp - 0x238], xmm1
movss dword [ebp - 0x234], xmm0
movss dword [ebp - 0x230], xmm2
cmp eax, dword [ecx + 0x104]
jg 0x1004dec3
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0
call fcn.100011a9
movss xmm3, dword [edi]
movss xmm2, dword [ebp - 0x154]
movss xmm4, dword [edi + 4]
subss xmm2, xmm3
movss xmm1, dword [ebp - 0x140]
movss xmm0, dword [ebp - 0x15c]
subss xmm1, xmm4
movss xmm5, dword [edi + 8]
subss xmm0, xmm5
mov dword [ebp - 0x180], 0
movss dword [ebp - 0x1b0], xmm2
mulss xmm2, xmm2
mov byte [ebp - 0x17b], 1
movss dword [ebp - 0x1ac], xmm1
mulss xmm1, xmm1
movss dword [ebp - 0x1a8], xmm0
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1004c553
mov byte [ebp - 0x17b], 0
addss xmm3, xmm0
mov dword [ebp - 0x190], 0x40000000
addss xmm4, xmm0
mov dword [ebp - 0x18c], 0x40000000
addss xmm5, xmm0
mov dword [ebp - 0x188], 0x40000000
mov ecx, 0x109c3640
mov byte [ebp - 0x17c], 0
mov dword [ebp - 0x1a0], Ordinal_2
movss dword [ebp - 0x1c0], xmm3
movss dword [ebp - 0x1bc], xmm4
movss dword [ebp - 0x1b8], xmm5
mov dword [ebp - 0x19c], Ordinal_2
mov dword [ebp - 0x198], Ordinal_2
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0xb4]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004c7bb
test dword [ebp - 0x100], 0x80000
je 0x1004c7bb
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1093479c]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
cmp eax, dword [ecx + 0x104]
jg 0x1004df17
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], 0
call fcn.100011a9
movss xmm1, dword [ebp - 0x154]
movss xmm3, dword [edi]
movss xmm4, dword [edi + 4]
subss xmm1, xmm3
movss xmm0, dword [ebp - 0x140]
movss xmm5, dword [edi + 8]
subss xmm0, xmm4
movss xmm2, dword [ebp - 0x15c]
subss xmm2, xmm5
mov dword [ebp - 0x180], 0
movss dword [ebp - 0x1b0], xmm1
mulss xmm1, xmm1
mov byte [ebp - 0x17b], 1
movss dword [ebp - 0x1ac], xmm0
mulss xmm0, xmm0
movss dword [ebp - 0x1a8], xmm2
mulss xmm2, xmm2
addss xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, xmm2
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1004c71f
mov byte [ebp - 0x17b], 0
addss xmm3, xmm1
mov dword [ebp - 0x190], 0x40000000
addss xmm4, xmm1
mov dword [ebp - 0x18c], 0x40000000
addss xmm5, xmm1
mov dword [ebp - 0x188], 0x40000000
mov ecx, 0x109c3640
mov byte [ebp - 0x17c], 0
mov dword [ebp - 0x1a0], Ordinal_2
movss dword [ebp - 0x1c0], xmm3
movss dword [ebp - 0x1bc], xmm4
movss dword [ebp - 0x1b8], xmm5
mov dword [ebp - 0x19c], Ordinal_2
mov dword [ebp - 0x198], Ordinal_2
call fcn.100038b9
lea ecx, [ebp - 0x130]
mov edx, eax
push ecx
lea ecx, [ebp - 0xa4]
push ecx
mov ecx, dword [ebp - 0x138]
mov eax, dword [edx]
and ecx, 0xfff7ffff
push ecx
lea ecx, [ebp - 0x1c0]
push ecx
mov ecx, edx
call dword [eax + 0x14]
movss xmm0, dword [0x101a3ffc]
comiss xmm0, dword [ebp - 0x104]
ja 0x1004c7e2
cmp byte [ebp - 0xfa], 0
jne 0x1004c7e2
cmp byte [ebp - 0xf9], 0
je 0x1004ca04
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004c8d6
call fcn.10003eae
test al, al
je 0x1004c8d6
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
cmp eax, dword [ecx + 0x104]
jg 0x1004df6b
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], 0
call fcn.100011a9
lea eax, [ebp - 0x238]
push eax
push edi
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x94]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004ca04
mov eax, dword [esi + 4]
mov edx, dword [0x109c7d58]
mov dword [esi + 0x24], 3
mov esi, dword fs:[0x2c]
movss xmm5, dword [edi]
movss xmm4, dword [edi + 4]
movaps xmm2, xmm5
movss xmm3, dword [edi + 8]
movaps xmm1, xmm4
mov ecx, dword [esi + edx*4]
movaps xmm0, xmm3
addss xmm2, dword [ebp - 0x13c]
addss xmm1, dword [ebp - 0x160]
addss xmm0, dword [ebp - 0x158]
subss xmm5, dword [ebp - 0x13c]
subss xmm4, dword [ebp - 0x160]
subss xmm3, dword [ebp - 0x158]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
movss dword [ebp - 0x22c], xmm2
movss dword [ebp - 0x228], xmm1
movss dword [ebp - 0x224], xmm0
movss dword [ebp - 0x220], xmm5
movss dword [ebp - 0x21c], xmm4
movss dword [ebp - 0x218], xmm3
cmp eax, dword [ecx + 0x104]
jg 0x1004dfbf
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 3
mov dword [ebp - 0x78], 0
call fcn.100011a9
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x84]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push 0x8400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x104]
ucomiss xmm0, dword [0x101a4778]
lahf
test ah, 0x44
jnp 0x1004ca3f
movss xmm0, dword [ebp - 0x124]
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x11c]
movss dword [edi + 8], xmm0
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004cb16
call fcn.10003eae
test al, al
jne 0x1004cb16
mov eax, dword [esi + 0x30]
cmp eax, 0x44
je 0x1004ca70
cmp eax, 0x2e
je 0x1004ca70
cmp eax, 0x30
jne 0x1004cb16
mov esi, dword fs:[0x2c]
mov edx, dword [0x109c7d58]
mov eax, dword [0x109347bc]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
cmp eax, dword [ecx + 0x104]
jg 0x1004e013
cmp dword [esi + 0x30], 0x44
je 0x1004cad5
mov ecx, dword [0x109347b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fstp dword [ebp - 0x14c]
movss xmm0, dword [ebp - 0x14c]
mulss xmm0, dword [0x101a59c0]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [ebp - 0x110]
ja 0x1004cb16
mov eax, dword [esi + 0x34]
lea ecx, [esi + 0x44]
mov byte [esi], 1
mov dword [esi + 0x3c], eax
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 1
cmp edx, dword [ecx + 8]
je 0x1004cb08
movq xmm0, qword [edi]
movq qword [edx], xmm0
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 1
add dword [ecx + 4], 0x10
jmp 0x1004cb19
lea eax, [ebp - 0x131]
push eax
push edi
push edx
call fcn.10001e10
lea ecx, [esi + 0x44]
cmp byte [esi], 0
jne 0x1004dd88
movss xmm0, dword [ebp - 0x104]
ucomiss xmm0, dword [0x101a3ffc]
lahf
test ah, 0x44
jnp 0x1004dd07
mov eax, dword [esi + 0x34]
mov dword [esi + 0x3c], eax
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 1
cmp edx, dword [ecx + 8]
je 0x1004cb68
movq xmm0, qword [edi]
movq qword [edx], xmm0
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 1
add dword [ecx + 4], 0x10
jmp 0x1004cb76
lea eax, [ebp - 0x131]
push eax
push edi
push edx
call fcn.10001e10
mov ecx, dword [ebp - 0xe4]
movss xmm7, dword [0x101a3ffc]
movss dword [ebp - 0x138], xmm7
mov dword [ebp - 0x140], ecx
test ecx, ecx
je 0x1004cd07
mov ecx, dword [0x109c7d58]
mov esi, dword fs:[0x2c]
mov eax, dword [0x10934788]
mov edx, dword [esi + ecx*4]
mov esi, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x140]
cmp eax, dword [edx + 0x104]
jg 0x1004e064
jmp 0x1004cbcf
mov ecx, dword [ebp - 0x140]
test ecx, ecx
je 0x1004cca3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x1004cca3
mov ecx, dword [ebp - 0x140]
add ecx, 8
mov dword [ebp - 0x13c], ecx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1004cca3
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x14c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jle 0x1004cca3
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x1004cc5b
mov eax, dword [eax + 8]
mov ecx, dword [eax]
cmp ecx, 0x65724243
jne 0x1004cc4a
cmp dword [eax + 7], 0x53656c62
jne 0x1004cc5b
jmp 0x1004cc6c
cmp ecx, 0x73614243
jne 0x1004cc5b
cmp dword [eax + 7], 0x79746974
je 0x1004cc6c
mov ecx, dword [ebp - 0x140]
mov eax, dword [0x10934784]
call eax
test al, al
je 0x1004cca3
movss xmm0, dword [esi + 0x14]
movss xmm1, dword [0x101a897c]
mulss xmm0, xmm1
movss dword [esi + 0x14], xmm0
movss xmm0, dword [esi + 0x18]
mulss xmm0, xmm1
movss dword [esi + 0x18], xmm0
movss xmm0, dword [esi + 0x1c]
mulss xmm0, xmm1
movss dword [esi + 0x1c], xmm0
jmp 0x1004dd07
mov ecx, dword [ebp - 0xe4]
call fcn.10003eae
mov byte [ebp - 0x131], al
test al, al
je 0x1004ccc8
movss xmm0, dword [0x101a4358]
movss dword [ebp - 0x138], xmm0
mov ecx, dword [ebp - 0xe4]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
test eax, eax
je 0x1004ccff
cmp byte [ebp - 0x131], 0
mov eax, dword [ebp - 0xe4]
je 0x1004ccfc
cmp dword [esi + 0x20], eax
jne 0x1004ccfc
mov dword [esi + 0x24], 1
jmp 0x1004dd07
mov dword [esi + 0x20], eax
movss xmm7, dword [ebp - 0x138]
movss xmm4, dword [esi + 0x14]
movss xmm6, dword [ebp - 0x114]
movss xmm1, dword [ebp - 0x118]
movaps xmm0, xmm6
movss xmm2, dword [esi + 0x18]
movss xmm5, dword [ebp - 0x110]
movss xmm3, dword [esi + 0x1c]
mulss xmm0, xmm2
mulss xmm1, xmm4
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm3
addss xmm1, xmm0
addss xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [ebp - 0x118]
subss xmm4, xmm0
movaps xmm0, xmm4
andps xmm0, xmmword [0x101a61a0]
comiss xmm0, dword [0x101a3ffc]
jae 0x1004cd71
xorps xmm4, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm6
xorps xmm6, xmm6
subss xmm2, xmm0
movaps xmm0, xmm2
andps xmm0, xmmword [0x101a61a0]
comiss xmm0, dword [0x101a3ffc]
jae 0x1004cd95
xorps xmm2, xmm2
mulss xmm1, xmm5
subss xmm3, xmm1
movaps xmm0, xmm3
andps xmm0, xmmword [0x101a61a0]
comiss xmm0, dword [0x101a3ffc]
jae 0x1004cdb3
xorps xmm3, xmm3
mulss xmm7, dword [0x101a98f0]
lea eax, [ebp - 0x144]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x13c], 0x3f666666
mov dword [ebp - 0x14c], 0
comiss xmm6, xmm7
movss dword [ebp - 0x144], xmm7
cmovbe ecx, eax
lea eax, [ebp - 0x13c]
comiss xmm7, dword [0x101a8358]
cmovbe eax, ecx
comiss xmm5, dword [str.333_]
movss xmm0, dword [eax]
mulss xmm4, xmm0
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [ebp - 0x140], xmm4
movss dword [ebp - 0x154], xmm2
movss dword [ebp - 0x138], xmm3
jbe 0x1004d5a0
movaps xmm0, xmm4
movaps xmm1, xmm2
mulss xmm0, xmm4
mulss xmm1, xmm2
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
comiss xmm1, dword [0x101a9d24]
movss dword [ebp - 0x13c], xmm1
jbe 0x1004cf32
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1004ce72
sqrtsd xmm0, xmm0
jmp 0x1004ce77
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm4, dword [ebp - 0x140]
xorps xmm6, xmm6
movss xmm2, dword [ebp - 0x154]
movss xmm3, dword [ebp - 0x138]
cvtsd2ss xmm6, xmm0
ucomiss xmm6, dword [0x101a4778]
lahf
test ah, 0x44
jnp 0x1004ceba
movaps xmm0, xmm4
movaps xmm1, xmm2
movaps xmm5, xmm3
divss xmm0, xmm6
divss xmm1, xmm6
divss xmm5, xmm6
jmp 0x1004cec3
xorps xmm5, xmm5
xorps xmm0, xmm0
xorps xmm1, xmm1
mulss xmm0, dword [ebp - 0x118]
mulss xmm1, dword [ebp - 0x114]
mulss xmm5, dword [ebp - 0x110]
addss xmm0, xmm1
addss xmm0, xmm5
movss xmm5, dword [0x101a3ff4]
comiss xmm0, xmm5
jbe 0x1004cf2a
movss xmm1, dword [0x101a3ffc]
subss xmm1, xmm0
addss xmm1, xmm5
movaps xmm0, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x140], xmm4
movss dword [ebp - 0x138], xmm3
movaps xmm2, xmm0
movss dword [ebp - 0x154], xmm0
movss xmm1, dword [ebp - 0x13c]
movss xmm0, dword [0x101a98fc]
comiss xmm0, xmm1
jbe 0x1004cf59
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
jmp 0x1004d55a
mov ecx, 0x109c3640
movss dword [esi + 0x14], xmm4
movss dword [esi + 0x18], xmm2
movss dword [esi + 0x1c], xmm3
call fcn.10001c8f
movss xmm3, dword [0x101a3ffc]
mov edx, 0x8400b
subss xmm3, dword [ebp - 0x104]
mov dword [ebp - 0x214], 0x40000000
mov dword [ebp - 0x210], 0x40000000
mov dword [ebp - 0x20c], 0x40000000
mov dword [ebp - 0x244], 0xc0000000
mulss xmm3, dword [eax + 0x20]
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x13c], eax
mov eax, 0x4208608b
cmp dword [ebp - 0x13c], 1
movaps xmm0, xmm3
mov dword [ebp - 0x240], 0xc0000000
mulss xmm0, dword [ebp - 0x140]
cmove eax, edx
mov edx, dword [0x109c7d58]
movaps xmm1, xmm3
mov dword [ebp - 0x23c], 0xc0000000
mulss xmm3, dword [ebp - 0x138]
mov dword [ebp - 0x138], eax
mulss xmm1, dword [ebp - 0x154]
movaps xmm2, xmm0
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
addss xmm2, dword [edi]
movss dword [ebp - 0x160], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edi + 8]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
movss dword [ebp - 0x158], xmm1
addss xmm1, dword [edi + 4]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1093479c]
movss dword [ebp - 0x15c], xmm3
movss dword [ebp - 0x1d4], xmm2
movss dword [ebp - 0x1d0], xmm1
movss dword [ebp - 0x1cc], xmm0
cmp eax, dword [ecx + 0x104]
jg 0x1004e0ac
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], 0
call fcn.100011a9
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x1d4]
push eax
push edi
lea ecx, [ebp - 0x1c0]
call fcn.10003148
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x74]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004d22a
test dword [ebp - 0x100], 0x80000
je 0x1004d22a
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1093479c]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
mov dword [ebp - 0x250], 0x40000000
mov dword [ebp - 0x24c], 0x40000000
mov dword [ebp - 0x248], 0x40000000
mov dword [ebp - 0x25c], 0xc0000000
mov dword [ebp - 0x258], 0xc0000000
mov dword [ebp - 0x254], 0xc0000000
cmp eax, dword [ecx + 0x104]
jg 0x1004e100
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 0
call fcn.100011a9
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x1d4]
push eax
push edi
lea ecx, [ebp - 0x1c0]
call fcn.10003148
mov ecx, 0x109c3640
call fcn.100038b9
lea ecx, [ebp - 0x130]
mov edx, eax
push ecx
lea ecx, [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x138]
mov eax, dword [edx]
and ecx, 0xfff7ffff
push ecx
lea ecx, [ebp - 0x1c0]
push ecx
mov ecx, edx
call dword [eax + 0x14]
movss xmm0, dword [0x101a3ffc]
comiss xmm0, dword [ebp - 0x104]
ja 0x1004d251
cmp byte [ebp - 0xfa], 0
jne 0x1004d251
cmp byte [ebp - 0xf9], 0
je 0x1004d461
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004d336
call fcn.10003eae
test al, al
je 0x1004d336
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
cmp eax, dword [ecx + 0x104]
jg 0x1004e154
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 0
call fcn.100011a9
lea eax, [ebp - 0x1d4]
push eax
push edi
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x54]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004d461
mov eax, dword [esi + 4]
mov edx, dword [0x109c7d58]
movss xmm2, dword [ebp - 0x160]
movss xmm1, dword [ebp - 0x158]
movss xmm0, dword [ebp - 0x15c]
mov dword [esi + 0x24], 3
mov esi, dword fs:[0x2c]
movss xmm5, dword [edi]
movss xmm4, dword [edi + 4]
addss xmm2, xmm5
movss xmm3, dword [edi + 8]
addss xmm1, xmm4
mov ecx, dword [esi + edx*4]
addss xmm0, xmm3
subss xmm5, dword [ebp - 0x160]
subss xmm4, dword [ebp - 0x158]
subss xmm3, dword [ebp - 0x15c]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
movss dword [ebp - 0x268], xmm2
movss dword [ebp - 0x264], xmm1
movss dword [ebp - 0x260], xmm0
movss dword [ebp - 0x1e4], xmm5
movss dword [ebp - 0x1e0], xmm4
movss dword [ebp - 0x1dc], xmm3
cmp eax, dword [ecx + 0x104]
jg 0x1004e1a8
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], 3
mov dword [ebp - 0x38], 0
call fcn.100011a9
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x44]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push 0x8400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x104]
ucomiss xmm0, dword [0x101a4778]
lahf
test ah, 0x44
jnp 0x1004d49c
movss xmm0, dword [ebp - 0x124]
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x11c]
movss dword [edi + 8], xmm0
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004d55a
call fcn.10003eae
test al, al
jne 0x1004d55a
mov eax, dword [esi + 0x30]
cmp eax, 0x44
je 0x1004d4cd
cmp eax, 0x2e
je 0x1004d4cd
cmp eax, 0x30
jne 0x1004d55a
mov esi, dword fs:[0x2c]
mov edx, dword [0x109c7d58]
mov eax, dword [0x109347bc]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
cmp eax, dword [ecx + 0x104]
jg 0x1004e1fc
cmp dword [esi + 0x30], 0x44
je 0x1004d52d
mov ecx, dword [0x109347b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fmul dword [0x101a59c0]
fstp qword [ebp - 0x150]
movsd xmm0, qword [ebp - 0x150]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [ebp - 0x110]
ja 0x1004d55a
mov eax, dword [esi + 0x34]
lea ecx, [esi + 0x44]
mov byte [esi], 1
mov dword [esi + 0x3c], eax
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 1
cmp edx, dword [ecx + 8]
jne 0x1004dcd8
lea eax, [ebp - 0x131]
push eax
push edi
push edx
call fcn.10001e10
lea ecx, [esi + 0x44]
mov eax, dword [esi + 0x40]
cmp eax, 0x14
jle 0x1004dd03
mov eax, dword [esi + 0x34]
mov byte [esi], 1
mov dword [esi + 0x3c], eax
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 0
cmp edx, dword [ecx + 8]
je 0x1004dcf3
movq xmm0, qword [edi]
movq qword [edx], xmm0
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 0
add dword [ecx + 4], 0x10
jmp 0x1004dd07
mov ecx, 0x109c3640
movss dword [esi + 0x14], xmm4
movss dword [esi + 0x18], xmm2
movss dword [esi + 0x1c], xmm3
call fcn.10001c8f
movss xmm2, dword [0x101a3ffc]
mov edx, 0x8400b
subss xmm2, dword [ebp - 0x104]
mov ecx, 0x4208608b
mulss xmm2, dword [eax + 0x20]
mov eax, dword [esi + 0x24]
cmp eax, 1
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
cmove ecx, edx
mov esi, dword fs:[0x2c]
movaps xmm0, xmm2
mulss xmm0, dword [ebp - 0x140]
movaps xmm1, xmm2
mov edx, dword [0x109c7d58]
mulss xmm1, dword [ebp - 0x154]
mov dword [ebp - 0x14c], eax
mulss xmm2, dword [ebp - 0x138]
mov eax, dword [0x1093479c]
movss dword [ebp - 0x140], xmm0
addss xmm0, dword [edi]
movss dword [ebp - 0x15c], xmm1
addss xmm1, dword [edi + 4]
movss dword [ebp - 0x154], xmm2
addss xmm2, dword [edi + 8]
mov dword [ebp - 0x138], ecx
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
movss dword [ebp - 0x13c], xmm0
movss dword [ebp - 0x158], xmm1
movss dword [ebp - 0x160], xmm2
movss dword [ebp - 0x1f0], xmm0
movss dword [ebp - 0x1ec], xmm1
movss dword [ebp - 0x1e8], xmm2
cmp eax, dword [ecx + 0x104]
jg 0x1004e24d
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0
call fcn.100011a9
movss xmm3, dword [edi]
movss xmm2, dword [ebp - 0x13c]
movss xmm4, dword [edi + 4]
subss xmm2, xmm3
movss xmm1, dword [ebp - 0x158]
movss xmm0, dword [ebp - 0x160]
subss xmm1, xmm4
movss xmm5, dword [edi + 8]
subss xmm0, xmm5
mov dword [ebp - 0x180], 0
movss dword [ebp - 0x1b0], xmm2
mulss xmm2, xmm2
mov byte [ebp - 0x17b], 1
movss dword [ebp - 0x1ac], xmm1
mulss xmm1, xmm1
movss dword [ebp - 0x1a8], xmm0
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1004d741
mov byte [ebp - 0x17b], 0
addss xmm3, xmm0
mov dword [ebp - 0x190], 0x40000000
addss xmm4, xmm0
mov dword [ebp - 0x18c], 0x40000000
addss xmm5, xmm0
mov dword [ebp - 0x188], 0x40000000
mov ecx, 0x109c3640
mov byte [ebp - 0x17c], 0
mov dword [ebp - 0x1a0], Ordinal_2
movss dword [ebp - 0x1c0], xmm3
movss dword [ebp - 0x1bc], xmm4
movss dword [ebp - 0x1b8], xmm5
mov dword [ebp - 0x19c], Ordinal_2
mov dword [ebp - 0x198], Ordinal_2
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0x24]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004d997
test dword [ebp - 0x100], 0x80000
je 0x1004d997
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x1093479c]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
cmp eax, dword [ecx + 0x104]
jg 0x1004e2a1
mov eax, dword [0x10934790]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0
call fcn.100011a9
movss xmm1, dword [ebp - 0x158]
movss xmm3, dword [edi]
movss xmm0, dword [ebp - 0x13c]
movss xmm4, dword [edi + 4]
subss xmm0, xmm3
movss xmm5, dword [edi + 8]
subss xmm1, xmm4
movss xmm2, dword [ebp - 0x160]
subss xmm2, xmm5
mov dword [ebp - 0x180], 0
mov byte [ebp - 0x17b], 1
movss dword [ebp - 0x1b0], xmm0
movss dword [ebp - 0x1ac], xmm1
mulss xmm0, xmm0
mulss xmm1, xmm1
movss dword [ebp - 0x1a8], xmm2
mulss xmm2, xmm2
addss xmm0, xmm1
xorps xmm1, xmm1
addss xmm0, xmm2
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1004d8fe
mov byte [ebp - 0x17b], 0
addss xmm3, xmm1
mov dword [ebp - 0x190], 0x40000000
addss xmm4, xmm1
mov dword [ebp - 0x18c], 0x40000000
addss xmm5, xmm1
mov dword [ebp - 0x188], 0x40000000
mov ecx, 0x109c3640
mov byte [ebp - 0x17c], 0
mov dword [ebp - 0x1a0], Ordinal_2
movss dword [ebp - 0x1c0], xmm3
movss dword [ebp - 0x1bc], xmm4
movss dword [ebp - 0x1b8], xmm5
mov dword [ebp - 0x19c], Ordinal_2
mov dword [ebp - 0x198], Ordinal_2
call fcn.100038b9
lea ecx, [ebp - 0x130]
mov edx, eax
push ecx
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x138]
mov eax, dword [edx]
and ecx, 0xfff7ffff
push ecx
lea ecx, [ebp - 0x1c0]
push ecx
mov ecx, edx
call dword [eax + 0x14]
movss xmm0, dword [0x101a3ffc]
comiss xmm0, dword [ebp - 0x104]
ja 0x1004d9be
cmp byte [ebp - 0xfa], 0
jne 0x1004d9be
cmp byte [ebp - 0xf9], 0
je 0x1004dbe9
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004dab2
call fcn.10003eae
test al, al
je 0x1004dab2
push 0x54
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x24]
add esp, 0xc
mov edx, dword [0x109c7d58]
mov dword [ebp - 0x144], eax
mov eax, dword [esi + 4]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
mov dword [ebp - 0x104], 0x3f800000
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0xf4], str.empty
cmp eax, dword [ecx + 0x104]
jg 0x1004e2f5
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], 0
call fcn.100011a9
lea eax, [ebp - 0x1f0]
push eax
push edi
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0xc4]
push edx
push dword [ebp - 0x138]
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push edx
call dword [eax + 0x14]
cmp byte [ebp - 0xf9], 0
je 0x1004dbe9
mov eax, dword [esi + 4]
mov edx, dword [0x109c7d58]
mov dword [esi + 0x24], 3
mov esi, dword fs:[0x2c]
movss xmm5, dword [edi]
movss xmm4, dword [edi + 4]
movaps xmm2, xmm5
movss xmm3, dword [edi + 8]
movaps xmm1, xmm4
mov ecx, dword [esi + edx*4]
movaps xmm0, xmm3
addss xmm2, dword [ebp - 0x140]
addss xmm1, dword [ebp - 0x15c]
addss xmm0, dword [ebp - 0x154]
subss xmm5, dword [ebp - 0x140]
subss xmm4, dword [ebp - 0x15c]
subss xmm3, dword [ebp - 0x154]
mov esi, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x109347ac]
movss dword [ebp - 0x1fc], xmm2
movss dword [ebp - 0x1f8], xmm1
movss dword [ebp - 0x1f4], xmm0
movss dword [ebp - 0x208], xmm5
movss dword [ebp - 0x204], xmm4
movss dword [ebp - 0x200], xmm3
cmp eax, dword [ecx + 0x104]
jg 0x1004e349
mov eax, dword [0x109347a0]
lea ecx, [ebp - 0x1c0]
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], 3
mov dword [ebp - 0xc8], 0
call fcn.100011a9
lea eax, [ebp - 0x1fc]
push eax
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x1c0]
call fcn.10002b4e
mov ecx, 0x109c3640
call fcn.100038b9
lea edx, [ebp - 0x130]
mov ecx, eax
push edx
lea edx, [ebp - 0xd4]
push edx
mov eax, dword [ecx]
lea edx, [ebp - 0x1c0]
push 0x8400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [ebp - 0x104]
ucomiss xmm0, dword [0x101a4778]
lahf
test ah, 0x44
jnp 0x1004dc24
movss xmm0, dword [ebp - 0x124]
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x120]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x11c]
movss dword [edi + 8], xmm0
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x1004d55a
call fcn.10003eae
test al, al
jne 0x1004d55a
mov eax, dword [esi + 0x30]
cmp eax, 0x44
je 0x1004dc55
cmp eax, 0x2e
je 0x1004dc55
cmp eax, 0x30
jne 0x1004d55a
mov esi, dword fs:[0x2c]
mov edx, dword [0x109c7d58]
mov eax, dword [0x109347bc]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x148]
cmp eax, dword [ecx + 0x104]
jg 0x1004e39d
cmp dword [esi + 0x30], 0x44
je 0x1004dcb9
mov ecx, dword [0x109347b8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
fmul dword [0x101a59c0]
fstp qword [ebp - 0x150]
movsd xmm0, qword [ebp - 0x150]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [ebp - 0x110]
ja 0x1004d55a
mov eax, dword [esi + 0x34]
lea ecx, [esi + 0x44]
mov byte [esi], 1
mov dword [esi + 0x3c], eax
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 1
cmp edx, dword [ecx + 8]
je 0x1004d54c
movq xmm0, qword [edi]
movq qword [edx], xmm0
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 1
add dword [ecx + 4], 0x10
jmp 0x1004d55d
lea eax, [ebp - 0x131]
push eax
push edi
push edx
call fcn.10001e10
jmp 0x1004dd07
inc eax
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x3c]
add eax, dword [ebp - 0x164]
mov ecx, dword [esi + 0x34]
cmp eax, ecx
jg 0x1004dd52
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x44]
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 0
cmp edx, dword [ecx + 8]
je 0x1004dd44
movq xmm0, qword [edi]
movq qword [edx], xmm0
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 0
add dword [ecx + 4], 0x10
jmp 0x1004dd52
lea eax, [ebp - 0x131]
push eax
push edi
push edx
call fcn.10001e10
inc dword [esi + 0x34]
mov ecx, 0x109c3640
call fcn.10001c8f
movss xmm0, dword [0x101a47a8]
mov edi, 0x8400b
mov ecx, dword [esi + 0x34]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x101a3ff4]
cvttss2si eax, xmm0
cmp ecx, eax
jl 0x1004c191
mov eax, dword [esi + 0x3c]
add eax, dword [ebp - 0x164]
mov ecx, dword [esi + 0x34]
cmp eax, ecx
jg 0x1004ddd7
mov dword [esi + 0x3c], ecx
lea ecx, [esi + 0x44]
mov edx, dword [ecx + 4]
mov byte [ebp - 0x131], 0
cmp edx, dword [ecx + 8]
je 0x1004ddc6
movq xmm0, qword [esi + 8]
movq qword [edx], xmm0
mov eax, dword [esi + 0x10]
mov dword [edx + 8], eax
mov byte [edx + 0xc], 0
add dword [ecx + 4], 0x10
jmp 0x1004ddd7
lea eax, [ebp - 0x131]
push eax
lea eax, [esi + 8]
push eax
push edx
call fcn.10001e10
mov ecx, 0x109c3640
call fcn.10001c8f
movd xmm0, dword [esi + 0x34]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [ebp - 0x1c8]
addss xmm0, dword [ebp - 0x1c4]
movss dword [esi + 0x2c], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1000276b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
push 0x109347c4
call fcn.10004994
add esp, 4
cmp dword [0x109347c4], 0xffffffff
jne 0x1004c128
mov ecx, 0x109c3640
mov byte [ebp - 4], 1
call fcn.10004f5c
mov ecx, eax
push str.molotov_throw_detonate_time
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push 0x109347c4
mov dword [0x109347c0], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 4
jmp 0x1004c128
push 0x109347b4
call fcn.10004994
add esp, 4
cmp dword [0x109347b4], 0xffffffff
jne 0x1004c2e0
mov ecx, 0x109c3640
mov byte [ebp - 4], 2
call fcn.10004f5c
mov ecx, eax
push str.sv_gravity
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push 0x109347b4
mov dword [0x109347b0], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 4
jmp 0x1004c2e0
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004c497
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 3
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004c497
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004c663
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 4
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004c663
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004c85d
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 5
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004c85d
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004c991
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 6
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004c991
push 0x109347bc
call fcn.10004994
add esp, 4
cmp dword [0x109347bc], 0xffffffff
jne 0x1004ca97
mov ecx, 0x109c3640
mov byte [ebp - 4], 7
call fcn.10004f5c
mov ecx, eax
push str.weapon_molotov_maxdetonateslope
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push 0x109347bc
mov dword [0x109347b8], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 4
jmp 0x1004ca97
push 0x10934788
call fcn.10004994
add esp, 4
cmp dword [0x10934788], 0xffffffff
jne 0x1004cbc9
push str.55_8B_EC_51_56_8B_F1_85_F6_74_68
push str.client.dll
mov byte [ebp - 4], 8
call fcn.1000514b
push 0x10934788
mov dword [0x10934784], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 0xc
jmp 0x1004cbc9
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004d078
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 9
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d078
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004d1a9
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0xa
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d1a9
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004d2cc
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0xb
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d2cc
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004d3f4
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0xc
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d3f4
push 0x109347bc
call fcn.10004994
add esp, 4
cmp dword [0x109347bc], 0xffffffff
jne 0x1004d4f4
mov ecx, 0x109c3640
mov byte [ebp - 4], 0xd
call fcn.10004f5c
mov ecx, eax
push str.weapon_molotov_maxdetonateslope
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push 0x109347bc
mov dword [0x109347b8], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 4
jmp 0x1004d4f4
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004d691
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0xe
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d691
push 0x1093479c
call fcn.10004994
add esp, 4
cmp dword [0x1093479c], 0xffffffff
jne 0x1004d84e
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0xf
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x1093479c
adc edx, 0
mov dword [0x10934790], eax
mov dword [0x10934794], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004d84e
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004da39
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0x10
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004da39
push 0x109347ac
call fcn.10004994
add esp, 4
cmp dword [0x109347ac], 0xffffffff
jne 0x1004db6d
push str.55_8B_EC_83_E4_F0_83_EC_7C_56_52
push str.client.dll
mov byte [ebp - 4], 0x11
call fcn.1000514b
add eax, 0x3d
mov byte [ebp - 4], 0
push 0x109347ac
adc edx, 0
mov dword [0x109347a0], eax
mov dword [0x109347a4], edx
call fcn.10004a20
add esp, 0xc
jmp 0x1004db6d
push 0x109347bc
call fcn.10004994
add esp, 4
cmp dword [0x109347bc], 0xffffffff
jne 0x1004dc7c
mov ecx, 0x109c3640
mov byte [ebp - 4], 0x12
call fcn.10004f5c
mov ecx, eax
push str.weapon_molotov_maxdetonateslope
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
call edx
push 0x109347bc
mov dword [0x109347b8], eax
mov byte [ebp - 4], 0
call fcn.10004a20
add esp, 4
jmp 0x1004dc7c