Function at 0x10128340
Capabilities:
Access peb ldr_data
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101375e0
mov eax, dword fs:[0]
push eax
sub esp, 0x920
mov eax, dword [0x1014c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1d8], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x65c], eax
mov ecx, dword [ebp - 0x65c]
mov edx, dword [ecx]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x780]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x1d8]
add eax, 4
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x784]
mov eax, dword [edx]
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ecx]
mov dword [ebp - 0x3c8], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x2f4]
movss xmm0, dword [eax]
movss dword [ebp - 0x77c], xmm0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x300], edx
mov eax, dword [ebp - 0x300]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x130], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x30c]
mov ecx, dword [eax]
mov dword [ebp - 0x320], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x310]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x314]
mov eax, dword [edx]
mov dword [ebp - 0x31c], eax
push 0x50
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x8c]
mov byte [edx], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
xorps xmm0, xmm0
movss dword [edx], xmm0
mov eax, dword [ebp - 0x120]
xorps xmm0, xmm0
movss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0x120]
xorps xmm0, xmm0
movss dword [ecx + 8], xmm0
mov edx, dword [ebp - 0x8c]
add edx, 0x14
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x124]
xorps xmm0, xmm0
movss dword [eax], xmm0
mov ecx, dword [ebp - 0x124]
xorps xmm0, xmm0
movss dword [ecx + 4], xmm0
mov edx, dword [ebp - 0x124]
xorps xmm0, xmm0
movss dword [edx + 8], xmm0
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x20], 0
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x8c]
xorps xmm0, xmm0
movss dword [edx + 0x28], xmm0
mov eax, dword [ebp - 0x8c]
xorps xmm0, xmm0
movss dword [eax + 0x2c], xmm0
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x34], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x38], 0
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x3c], 0
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x40], 0
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
mov dword [eax], 0
mov ecx, dword [ebp - 0x128]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x128]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x31c]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x320]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x14
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x138]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x138]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x24], 0xd
mov edx, dword [0x101b5bd8]
movss xmm0, dword [0x10140fc8]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si eax, xmm0
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
neg edx
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xfc]
sub eax, 0x2b
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 5
ja case.default.0x1012871e
mov ecx, dword [ebp - 0xfc]
jmp dword [ecx*4 + 0x1012bbd0]
mov edx, dword [0x101b5bd8]
movss xmm0, dword [0x10141058]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si eax, xmm0
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x38], ecx
jmp case.default.0x1012871e
mov eax, dword [0x101b5bd8]
movss xmm0, dword [0x10141078]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si ecx, xmm0
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x38], edx
jmp case.default.0x1012871e
mov ecx, dword [ebp - 0x8c]
movss xmm0, dword [0x10141058]
movss dword [ecx + 0x28], xmm0
mov edx, dword [0x101b5bd8]
movss xmm0, dword [0x10140fc0]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si eax, xmm0
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x38], ecx
jmp case.default.0x1012871e
mov eax, dword [0x101c692c]
and eax, 1
jne 0x10128984
mov ecx, dword [0x101c692c]
or ecx, 1
mov dword [0x101c692c], ecx
xor edx, edx
mov byte [ebp - 0x1d9], dl
mov dword [ebp - 0x890], 0xc12e8fe5
mov dword [ebp - 0x334], 0xc12e8fe5
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x348], eax
mov ecx, dword [0x101b5b70]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
jne 0x1012885a
mov dword [ebp - 0x140], 0
jmp 0x10128979
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0xe0], ecx
jmp 0x10128877
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x1012896f
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x13c], 0x811c9dc5
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x2e4]
add ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
test edx, edx
je 0x101288cb
jmp 0x101288a7
xor eax, eax
je 0x101288de
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x118], 0
jmp 0x10128911
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x340]
jae 0x10128942
mov eax, dword [ebp - 0x2e4]
add eax, dword [ebp - 0x118]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x13c]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x13c], edx
jmp 0x10128902
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x348]
jne 0x1012896a
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x140], edx
jmp 0x10128979
jmp 0x10128868
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
mov dword [0x101c6924], eax
mov ecx, dword [0x101c6924]
mov dword [ebp - 0x1e0], ecx
lea edx, [ebp - 0x350]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x1e0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x350]
mov edx, dword [ecx]
mov dword [ebp - 0x354], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x354]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x360]
mov dword [ebp - 0x364], edx
mov ecx, dword [ebp - 0x1e0]
call dword [ebp - 0x364]
fstp dword [ebp - 0x368]
movss xmm0, dword [ebp - 0x368]
mov eax, dword [ebp - 0x8c]
movss dword [eax + 0x28], xmm0
mov ecx, dword [0x101b5bd8]
movss xmm0, dword [0x10140fc0]
divss xmm0, dword [ecx + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si edx, xmm0
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x38], eax
jmp 0x10128a7b
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x34]
add eax, 1
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x34], eax
mov edx, dword [0x101b5bd8]
movss xmm0, dword [0x10141134]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si eax, xmm0
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x34], ecx
jge 0x1012bad9
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x34]
jg 0x10128e12
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
sub edx, 0x2b
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x100], 5
ja case.default.0x10128afe
mov eax, dword [ebp - 0x100]
jmp dword [eax*4 + 0x1012bbe8]
mov ecx, dword [ebp - 0x8c]
add ecx, 0x14
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc4]
movss xmm0, dword [edx]
mulss xmm0, dword [eax]
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc4]
movss xmm1, dword [ecx + 4]
mulss xmm1, dword [edx + 4]
addss xmm0, xmm1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc4]
movss xmm1, dword [eax + 8]
mulss xmm1, dword [ecx + 8]
addss xmm0, xmm1
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x374]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [0x10140fb4]
comiss xmm0, dword [ebp - 0x378]
jb 0x10128c0c
mov edx, dword [ebp - 0x8c]
mov byte [edx], 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x38c], eax
mov byte [ebp - 0xb9], 0
lea ecx, [ebp - 0xb9]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x384], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x380]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x384]
push edx
mov eax, dword [ebp - 0x388]
push eax
mov ecx, dword [ebp - 0x38c]
call fcn.10084540
mov dword [ebp - 0x8e4], eax
jmp case.default.0x10128afe
mov ecx, dword [ebp - 0x8c]
add ecx, 0x14
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc8]
movss xmm0, dword [edx]
mulss xmm0, dword [eax]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc8]
movss xmm1, dword [ecx + 4]
mulss xmm1, dword [edx + 4]
addss xmm0, xmm1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc8]
movss xmm1, dword [eax + 8]
mulss xmm1, dword [ecx + 8]
addss xmm0, xmm1
movss dword [ebp - 0x390], xmm0
movss xmm0, dword [ebp - 0x390]
movss dword [ebp - 0x394], xmm0
movss xmm0, dword [0x10140fd0]
comiss xmm0, dword [ebp - 0x394]
jb 0x10128d18
mov edx, dword [ebp - 0x8c]
mov byte [edx], 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x3a8], eax
mov byte [ebp - 0xba], 0
lea ecx, [ebp - 0xba]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x3a4]
push eax
mov ecx, dword [ebp - 0x3a8]
call fcn.10084540
mov dword [ebp - 0x898], eax
jmp case.default.0x10128afe
mov ecx, dword [ebp - 0x8c]
cvtsi2ss xmm0, dword [ecx + 0x34]
mov edx, dword [0x101b5bd8]
mulss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x3ac], xmm0
movss xmm0, dword [ebp - 0x3ac]
mov eax, dword [ebp - 0x8c]
comiss xmm0, dword [eax + 0x28]
jbe case.default.0x10128afe
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], 1
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x44
mov dword [ebp - 0x3c0], edx
mov byte [ebp - 0xbb], 0
lea eax, [ebp - 0xbb]
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b0]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3b8]
push ecx
mov edx, dword [ebp - 0x3bc]
push edx
mov ecx, dword [ebp - 0x3c0]
call fcn.10084540
mov dword [ebp - 0x89c], eax
mov eax, dword [0x101b5bd8]
movss xmm0, dword [0x10140fe4]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10141010]
cvttss2si ecx, xmm0
mov dword [ebp - 0x3c4], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x3c4]
add eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x34]
cmp eax, dword [ebp - 0x3c8]
jge 0x10128e28
jmp 0x10128a66
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx]
test edx, edx
je 0x10128e41
mov byte [ebp - 0x99], 1
jmp 0x1012ba2b
mov eax, dword [0x101c6928]
and eax, 1
jne 0x10128fe3
mov ecx, dword [0x101c6928]
or ecx, 1
mov dword [0x101c6928], ecx
xor edx, edx
mov byte [ebp - 0x1da], dl
mov dword [ebp - 0x8a0], 0x58e37709
mov dword [ebp - 0x3cc], 0x58e37709
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [0x101b5b70]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x3d0], edx
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1e4], eax
cmp dword [ebp - 0x1e4], 0
jne 0x10128eb9
mov dword [ebp - 0x148], 0
jmp 0x10128fd8
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0xe4], ecx
jmp 0x10128ed6
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x10128fce
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x144], 0x811c9dc5
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
add eax, 1
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0x1e8]
add ecx, dword [ebp - 0xcc]
movsx edx, byte [ecx]
test edx, edx
je 0x10128f2a
jmp 0x10128f06
xor eax, eax
je 0x10128f3d
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x104], 0
jmp 0x10128f70
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x3d8]
jae 0x10128fa1
mov eax, dword [ebp - 0x1e8]
add eax, dword [ebp - 0x104]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x144]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x144], edx
jmp 0x10128f61
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
cmp ecx, dword [ebp - 0x3e0]
jne 0x10128fc9
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x148], edx
jmp 0x10128fd8
jmp 0x10128ec7
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [0x101c691c], eax
mov ecx, dword [0x101c691c]
mov dword [ebp - 0x1f0], ecx
lea edx, [ebp - 0x3e8]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x3e8]
mov edx, dword [ecx]
mov dword [ebp - 0x3ec], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3fc], edx
mov ecx, dword [ebp - 0x1f0]
call dword [ebp - 0x3fc]
fstp dword [ebp - 0x400]
movss xmm0, dword [ebp - 0x400]
mulss xmm0, dword [0x10141008]
mov eax, dword [0x101b5bd8]
mulss xmm0, dword [eax + 0x20]
mov ecx, dword [ebp - 0x8c]
movss xmm1, dword [ecx + 0x1c]
subss xmm1, xmm0
movss dword [ebp - 0x1f4], xmm1
mov edx, dword [ebp - 0x8c]
movss xmm0, dword [edx + 0x1c]
addss xmm0, dword [ebp - 0x1f4]
divss xmm0, dword [0x10141078]
mov eax, dword [0x101b5bd8]
mulss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x40c], xmm0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [0x101b5bd8]
movss xmm0, dword [ecx + 0x18]
mulss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x408], xmm0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [0x101b5bd8]
movss xmm0, dword [eax + 0x14]
mulss xmm0, dword [ecx + 0x20]
movss dword [ebp - 0x404], xmm0
movss xmm0, dword [ebp - 0x404]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x408]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x40c]
movss dword [ebp - 0x20], xmm0
mov edx, dword [ebp - 0x8c]
movss xmm0, dword [ebp - 0x1f4]
movss dword [edx + 0x1c], xmm0
push 0x54
push 0
lea eax, [ebp - 0x88]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0x54
push 0
lea ecx, [ebp - 0x88]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x88]
call fcn.10023170
nop
lea edx, [ebp - 0x88]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x24], 1
jne 0x101291a6
mov dword [ebp - 0x108], 0x8400b
jmp 0x101291b0
mov dword [ebp - 0x108], 0x4208608b
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x14c], ecx
mov edx, dword [ebp - 0x14c]
movss xmm0, dword [edx]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x410], xmm0
mov eax, dword [ebp - 0x14c]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x414], xmm0
mov ecx, dword [ebp - 0x14c]
movss xmm0, dword [ecx + 8]
addss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x410]
movss dword [ebp - 0x7a4], xmm0
movss xmm0, dword [ebp - 0x414]
movss dword [ebp - 0x7a0], xmm0
movss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x79c], xmm0
lea edx, [ebp - 0x7a4]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1f8], edx
cmp dword [ebp - 0x1f8], 0
je 0x10129295
mov eax, dword [ebp - 0x1f8]
add eax, 4
mov dword [ebp - 0x1fc], eax
jmp 0x1012929f
mov dword [ebp - 0x1fc], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7b0], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7ac], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7a8], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7bc], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7b8], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7b4], xmm0
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x420]
push edx
mov eax, dword [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
lea edx, [ebp - 0x7b0]
push edx
lea eax, [ebp - 0x7bc]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
mov edx, dword [ebp - 0x154]
push edx
mov ecx, dword [0x101b5b90]
call fcn.100836d0
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 0x37]
test ecx, ecx
je 0x10129486
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x30]
and eax, 0x80000
je 0x10129486
push 0x54
push 0
mov ecx, dword [ebp - 0x94]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x94]
movss xmm0, dword [0x10141038]
movss dword [edx + 0x2c], xmm0
mov eax, dword [ebp - 0x94]
mov dword [eax + 0x3c], str.empty
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 0
je 0x101293d3
mov edx, dword [ebp - 0x200]
add edx, 4
mov dword [ebp - 0x204], edx
jmp 0x101293dd
mov dword [ebp - 0x204], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7c8], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7c4], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7c0], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7d4], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7d0], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7cc], xmm0
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x424]
push ecx
mov edx, dword [ebp - 0x204]
push edx
mov eax, dword [ebp - 0x108]
and eax, 0xfff7ffff
push eax
lea ecx, [ebp - 0x7c8]
push ecx
lea edx, [ebp - 0x7d4]
push edx
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x154]
push ecx
mov ecx, dword [0x101b5b90]
call fcn.100836d0
nop
mov edx, dword [ebp - 0x94]
movss xmm0, dword [0x10141038]
comiss xmm0, dword [edx + 0x2c]
ja 0x101294c2
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 0x36]
test ecx, ecx
jne 0x101294c2
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 0x37]
test eax, eax
jne 0x101294c2
mov dword [ebp - 0x208], 0
jmp 0x101294cc
mov dword [ebp - 0x208], 1
mov cl, byte [ebp - 0x208]
mov byte [ebp - 0xa1], cl
movzx edx, byte [ebp - 0xa1]
test edx, edx
je 0x1012959e
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x4c], 0
je 0x1012959e
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + 0x4c]
mov dword [ebp - 0x210], edx
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x210]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx]
mov dword [ebp - 0x430], eax
mov ecx, 0x98
shl ecx, 2
mov edx, dword [ebp - 0x430]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x210]
call dword [ebp - 0x440]
mov byte [ebp - 0xa2], al
movzx ecx, byte [ebp - 0xa2]
test ecx, ecx
jne 0x101295a3
jmp 0x1012964e
push 0x54
push 0
mov edx, dword [ebp - 0x94]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x94]
movss xmm0, dword [0x10141038]
movss dword [eax + 0x2c], xmm0
mov ecx, dword [ebp - 0x94]
mov dword [ecx + 0x3c], str.empty
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x214], edx
cmp dword [ebp - 0x214], 0
je 0x1012960e
mov eax, dword [ebp - 0x214]
add eax, 4
mov dword [ebp - 0x218], eax
jmp 0x10129618
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x94]
push ecx
mov edx, dword [ebp - 0x444]
push edx
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0x150]
push edx
mov eax, dword [ebp - 0x154]
push eax
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movzx ecx, byte [ebp - 0x51]
test ecx, ecx
je 0x10129733
mov edx, dword [ebp - 0x8c]
mov dword [edx + 0x24], 3
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x1012969f
mov ecx, dword [ebp - 0x21c]
add ecx, 4
mov dword [ebp - 0x220], ecx
jmp 0x101296a9
mov dword [ebp - 0x220], 0
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x448], edx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x92c]
push ecx
mov ecx, dword [ebp - 0x448]
call fcn.1002ca00
mov dword [ebp - 0x454], eax
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x44c], edx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x8f0]
push ecx
mov ecx, dword [ebp - 0x44c]
call fcn.10022f20
mov dword [ebp - 0x458], eax
lea edx, [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x220]
push ecx
push 0x8400b
mov edx, dword [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x458]
push eax
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x10140f94]
lahf
test ah, 0x44
jnp 0x10129791
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
cmp dword [ebp - 0x3c], 0
jne 0x1012979c
jmp 0x10129b84
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x228]
mov dword [edx], eax
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x8b0], edx
mov eax, dword [ebp - 0x460]
mov ecx, dword [eax]
mov dword [ebp - 0x464], ecx
mov edx, 0x98
shl edx, 2
mov eax, dword [ebp - 0x464]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x468]
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x474], ecx
mov ecx, dword [ebp - 0x228]
call dword [ebp - 0x474]
mov byte [ebp - 0xa3], al
movzx edx, byte [ebp - 0xa3]
test edx, edx
jne 0x10129861
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x44
je 0x10129866
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x2e
je 0x10129866
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x30
je 0x10129866
jmp 0x10129b84
mov eax, dword [0x101c6920]
and eax, 1
jne 0x10129a08
mov ecx, dword [0x101c6920]
or ecx, 1
mov dword [0x101c6920], ecx
xor edx, edx
mov byte [ebp - 0x1db], dl
mov dword [ebp - 0x8b4], 0x1aef2a38
mov dword [ebp - 0x478], 0x1aef2a38
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x48c], eax
mov ecx, dword [0x101b5b70]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x101298de
mov dword [ebp - 0x164], 0
jmp 0x101299fd
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0xe8], ecx
jmp 0x101298fb
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x101299f3
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x160], 0x811c9dc5
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x230]
add ecx, dword [ebp - 0xd0]
movsx edx, byte [ecx]
test edx, edx
je 0x1012994f
jmp 0x1012992b
xor eax, eax
je 0x10129962
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0xf8], 0
jmp 0x10129995
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
cmp edx, dword [ebp - 0x484]
jae 0x101299c6
mov eax, dword [ebp - 0x230]
add eax, dword [ebp - 0xf8]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x160]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x160], edx
jmp 0x10129986
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
cmp ecx, dword [ebp - 0x48c]
jne 0x101299ee
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x164], edx
jmp 0x101299fd
jmp 0x101298ec
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [0x101c6930], eax
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x44
je 0x10129b01
mov edx, dword [0x101c6930]
mov dword [ebp - 0x238], edx
lea eax, [ebp - 0x494]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x238]
mov dword [ecx], edx
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x490]
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x494]
mov eax, dword [edx]
mov dword [ebp - 0x498], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0x498]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0x4a0], ecx
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x238]
call dword [ebp - 0x4a8]
fstp dword [ebp - 0x4ac]
movss xmm0, dword [ebp - 0x4ac]
mulss xmm0, dword [0x10140fbc]
movss dword [ebp - 0x4b0], xmm0
movss xmm0, dword [ebp - 0x4b0]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [ebp - 0x4b4], xmm0
movss xmm0, dword [ebp - 0x4b4]
movss dword [ebp - 0x4b8], xmm0
movss xmm0, dword [ebp - 0x4b8]
comiss xmm0, dword [ebp - 0x68]
jbe 0x10129b01
jmp 0x10129b84
mov ecx, dword [ebp - 0x8c]
mov byte [ecx], 1
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x44
mov dword [ebp - 0x4cc], edx
mov byte [ebp - 0xa4], 1
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c4]
push ecx
mov edx, dword [ebp - 0x4c8]
push edx
mov ecx, dword [ebp - 0x4cc]
call fcn.10084540
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax]
test ecx, ecx
je 0x10129b9d
mov byte [ebp - 0x99], 1
jmp 0x1012ba2b
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x10141038]
lahf
test ah, 0x44
jnp 0x1012ba24
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x44
mov dword [ebp - 0x4e0], edx
mov byte [ebp - 0xa5], 1
lea eax, [ebp - 0xa5]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0x4d8], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4d8]
push ecx
mov edx, dword [ebp - 0x4dc]
push edx
mov ecx, dword [ebp - 0x4e0]
call fcn.10084540
mov dword [ebp - 0x8c0], eax
movss xmm0, dword [0x10141038]
movss dword [ebp - 0x24c], xmm0
cmp dword [ebp - 0x3c], 0
je 0x10129e83
mov eax, dword [ebp - 0x3c]
push eax
call fcn.100bc340
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x10129cc6
mov edx, dword [ebp - 0x8c]
add edx, 0x14
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
movss xmm0, dword [eax]
mulss xmm0, dword [0x10141008]
mov ecx, dword [ebp - 0xd4]
movss dword [ecx], xmm0
mov edx, dword [ebp - 0xd4]
movss xmm0, dword [edx + 4]
mulss xmm0, dword [0x10141008]
mov eax, dword [ebp - 0xd4]
movss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0xd4]
movss xmm0, dword [ecx + 8]
mulss xmm0, dword [0x10141008]
mov edx, dword [ebp - 0xd4]
movss dword [edx + 8], xmm0
jmp 0x1012ba24
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x4e8]
mov dword [ebp - 0x294], ecx
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x240]
mov dword [edx], eax
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, 0x98
shl edx, 2
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x4f0], ecx
mov edx, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], edx
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
mov dword [ebp - 0x4fc], ecx
mov ecx, dword [ebp - 0x240]
call dword [ebp - 0x4fc]
mov byte [ebp - 0xa6], al
mov dl, byte [ebp - 0xa6]
mov byte [ebp - 0x9a], dl
movzx eax, byte [ebp - 0x9a]
test eax, eax
je 0x10129d83
movss xmm0, dword [0x10140fec]
movss dword [ebp - 0x24c], xmm0
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
add edx, 8
mov dword [ebp - 0x500], edx
lea eax, [ebp - 0x508]
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x500]
mov edx, dword [ebp - 0x244]
mov dword [edx], ecx
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, 0xa
shl ecx, 2
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x514], ecx
mov edx, dword [ebp - 0x514]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x248]
add ecx, 8
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x520], edx
mov ecx, dword [ebp - 0x520]
call dword [ebp - 0x524]
mov dword [ebp - 0x528], eax
cmp dword [ebp - 0x528], 0
je 0x10129e83
movzx eax, byte [ebp - 0x9a]
test eax, eax
je 0x10129e77
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0x3c]
jne 0x10129e77
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], 1
jmp 0x1012ba24
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x3c]
mov dword [ecx + 0x20], edx
xorps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebp - 0x8c]
add eax, 0x14
mov dword [ebp - 0x168], eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x168]
mov eax, dword [ebp - 0x16c]
movss xmm0, dword [edx]
mulss xmm0, dword [eax]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x16c]
movss xmm1, dword [ecx + 4]
mulss xmm1, dword [edx + 4]
addss xmm0, xmm1
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x16c]
movss xmm1, dword [eax + 8]
mulss xmm1, dword [ecx + 8]
addss xmm0, xmm1
movss dword [ebp - 0x52c], xmm0
movss xmm0, dword [ebp - 0x52c]
mulss xmm0, dword [0x10141078]
movss dword [ebp - 0x53c], xmm0
mov dword [ebp - 0xa0], 0
jmp 0x10129f36
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 3
jae 0x1012a09e
lea eax, [ebp - 0x70]
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x530]
mov dword [ebp - 0x534], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x534]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x538]
movss xmm0, dword [edx]
mulss xmm0, dword [ebp - 0x53c]
movss dword [ebp - 0x54c], xmm0
mov eax, dword [ebp - 0x8c]
add eax, 0x14
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x544]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x548], ecx
mov edx, dword [ebp - 0x548]
movss xmm0, dword [edx]
subss xmm0, dword [ebp - 0x54c]
movss dword [ebp - 0x558], xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x550]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
movss xmm0, dword [ebp - 0x558]
movss dword [ecx], xmm0
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x55c]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x560]
movss xmm0, dword [eax]
movss dword [ebp - 0x564], xmm0
movss xmm0, dword [ebp - 0x564]
andps xmm0, xmmword [0x10141290]
movss dword [ebp - 0x568], xmm0
movss xmm0, dword [ebp - 0x568]
movss dword [ebp - 0x56c], xmm0
movss xmm0, dword [ebp - 0x56c]
comiss xmm0, dword [0x10141038]
jb 0x1012a06e
jmp 0x10129f27
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x570]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x574]
xorps xmm0, xmm0
movss dword [edx], xmm0
jmp 0x10129f27
movss xmm0, dword [0x1014102c]
movss dword [ebp - 0x578], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x57c], xmm0
movss xmm0, dword [ebp - 0x24c]
mulss xmm0, dword [0x1014100c]
movss dword [ebp - 0x580], xmm0
xor eax, eax
mov byte [ebp - 0xa7], al
movzx ecx, byte [ebp - 0xa7]
push ecx
lea edx, [ebp - 0x578]
push edx
lea eax, [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x580]
push ecx
call fcn.1002ba70
add esp, 0x10
mov dword [ebp - 0x584], eax
mov edx, dword [ebp - 0x584]
movss xmm0, dword [edx]
movss dword [ebp - 0x170], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [ebp - 0x170]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x68]
comiss xmm0, dword [0x10141024]
jbe 0x1012adf9
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x18]
mulss xmm1, dword [ebp - 0x18]
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [ebp - 0x14]
addss xmm0, xmm1
movss dword [ebp - 0x588], xmm0
movss xmm0, dword [ebp - 0x588]
movss dword [ebp - 0x58c], xmm0
movss xmm0, dword [ebp - 0x58c]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x254]
comiss xmm0, dword [0x10141214]
jbe 0x1012a2e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], edx
lea ecx, [ebp - 0x34]
call fcn.10083160
fstp st(0)
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x790], edx
lea eax, [ebp - 0x798]
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
mov dword [ebp - 0x174], ecx
lea edx, [ebp - 0x70]
mov dword [ebp - 0x178], edx
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
movss xmm1, dword [edx + 4]
mulss xmm1, dword [eax + 4]
addss xmm0, xmm1
mov ecx, dword [ebp - 0x174]
mov edx, dword [ebp - 0x178]
movss xmm1, dword [ecx + 8]
mulss xmm1, dword [edx + 8]
addss xmm0, xmm1
movss dword [ebp - 0x594], xmm0
movss xmm0, dword [ebp - 0x594]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x250]
comiss xmm0, dword [0x10141010]
jbe 0x1012a2e0
movss xmm0, dword [0x10141038]
subss xmm0, dword [ebp - 0x250]
addss xmm0, dword [0x10141010]
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x17c]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [ebp - 0x17c]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [ebp - 0x17c]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [0x101411e0]
comiss xmm0, dword [ebp - 0x254]
jbe 0x1012a376
xorps xmm0, xmm0
movss dword [ebp - 0x7e0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x7dc], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x7d8], xmm0
lea eax, [ebp - 0x7e0]
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x598]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x14
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x1012adf4
mov eax, dword [ebp - 0x8c]
add eax, 0x14
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0x188]
movss xmm0, dword [ebp - 0x1c]
movss dword [ecx], xmm0
mov edx, dword [ebp - 0x188]
movss xmm0, dword [ebp - 0x18]
movss dword [edx + 4], xmm0
mov eax, dword [ebp - 0x188]
movss xmm0, dword [ebp - 0x14]
movss dword [eax + 8], xmm0
movss xmm0, dword [0x10141038]
subss xmm0, dword [ebp - 0x5c]
mov ecx, dword [0x101b5bd8]
mulss xmm0, dword [ecx + 0x20]
movss dword [ebp - 0x18c], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x59c], xmm0
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x5a0], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [ebp - 0x18c]
movss dword [ebp - 0x5a4], xmm0
movss xmm0, dword [ebp - 0x59c]
movss dword [ebp - 0x7ec], xmm0
movss xmm0, dword [ebp - 0x5a0]
movss dword [ebp - 0x7e8], xmm0
movss xmm0, dword [ebp - 0x5a4]
movss dword [ebp - 0x7e4], xmm0
lea edx, [ebp - 0x7ec]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x24], 1
jne 0x1012a47f
mov dword [ebp - 0x114], 0x8400b
jmp 0x1012a489
mov dword [ebp - 0x114], 0x4208608b
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x198]
push ecx
lea edx, [ebp - 0x8fc]
push edx
mov ecx, dword [ebp - 0x5ac]
call fcn.1002ca00
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x258], ecx
cmp dword [ebp - 0x258], 0
je 0x1012a4fe
mov edx, dword [ebp - 0x258]
add edx, 4
mov dword [ebp - 0x25c], edx
jmp 0x1012a508
mov dword [ebp - 0x25c], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7f8], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7f4], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x7fc], xmm0
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x5b0]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x7f8]
push ecx
lea edx, [ebp - 0x804]
push edx
mov eax, dword [ebp - 0x190]
push eax
mov ecx, dword [ebp - 0x194]
push ecx
mov ecx, dword [0x101b5b90]
call fcn.100836d0
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx + 0x37]
test eax, eax
je 0x1012a6f1
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x30]
and edx, 0x80000
je 0x1012a6f1
push 0x54
push 0
mov eax, dword [ebp - 0x90]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x90]
movss xmm0, dword [0x10141038]
movss dword [ecx + 0x2c], xmm0
mov edx, dword [ebp - 0x90]
mov dword [edx + 0x3c], str.empty
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x5b4], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
je 0x1012a63d
mov ecx, dword [ebp - 0x260]
add ecx, 4
mov dword [ebp - 0x264], ecx
jmp 0x1012a647
mov dword [ebp - 0x264], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x810], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x80c], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x808], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x81c], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x818], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x814], xmm0
mov edx, dword [ebp - 0x90]
push edx
mov eax, dword [ebp - 0x5b4]
push eax
mov ecx, dword [ebp - 0x264]
push ecx
mov edx, dword [ebp - 0x114]
and edx, 0xfff7ffff
push edx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x81c]
push ecx
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x194]
push eax
mov ecx, dword [0x101b5b90]
call fcn.100836d0
nop
mov ecx, dword [ebp - 0x90]
movss xmm0, dword [0x10141038]
comiss xmm0, dword [ecx + 0x2c]
ja 0x1012a72d
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx + 0x36]
test eax, eax
jne 0x1012a72d
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx + 0x37]
test edx, edx
jne 0x1012a72d
mov dword [ebp - 0x268], 0
jmp 0x1012a737
mov dword [ebp - 0x268], 1
mov al, byte [ebp - 0x268]
mov byte [ebp - 0xa8], al
movzx ecx, byte [ebp - 0xa8]
test ecx, ecx
je 0x1012a809
mov edx, dword [ebp - 0x90]
cmp dword [edx + 0x4c], 0
je 0x1012a809
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x270], ecx
lea edx, [ebp - 0x5bc]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x270]
mov dword [eax], ecx
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x5bc]
mov edx, dword [ecx]
mov dword [ebp - 0x5c0], edx
mov eax, 0x98
shl eax, 2
mov ecx, dword [ebp - 0x5c0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5c8]
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], edx
mov ecx, dword [ebp - 0x270]
call dword [ebp - 0x5d0]
mov byte [ebp - 0xa9], al
movzx eax, byte [ebp - 0xa9]
test eax, eax
jne 0x1012a80e
jmp 0x1012a8b9
push 0x54
push 0
mov ecx, dword [ebp - 0x90]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x90]
movss xmm0, dword [0x10141038]
movss dword [edx + 0x2c], xmm0
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x3c], str.empty
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x5d4], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x274], ecx
cmp dword [ebp - 0x274], 0
je 0x1012a879
mov edx, dword [ebp - 0x274]
add edx, 4
mov dword [ebp - 0x278], edx
jmp 0x1012a883
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x5d4]
push ecx
mov edx, dword [ebp - 0x278]
push edx
mov eax, dword [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x190]
push ecx
mov edx, dword [ebp - 0x194]
push edx
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x1012a9a4
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x24], 3
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x27c], edx
cmp dword [ebp - 0x27c], 0
je 0x1012a90a
mov eax, dword [ebp - 0x27c]
add eax, 4
mov dword [ebp - 0x280], eax
jmp 0x1012a914
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x198]
push edx
lea eax, [ebp - 0x908]
push eax
mov ecx, dword [ebp - 0x5d8]
call fcn.1002ca00
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x198]
push edx
lea eax, [ebp - 0x914]
push eax
mov ecx, dword [ebp - 0x5dc]
call fcn.10022f20
mov dword [ebp - 0x5e8], eax
lea ecx, [ebp - 0x88]
push ecx
mov edx, dword [ebp - 0x5e0]
push edx
mov eax, dword [ebp - 0x280]
push eax
push 0x8400b
mov ecx, dword [ebp - 0x5e4]
push ecx
mov edx, dword [ebp - 0x5e8]
push edx
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x10140f94]
lahf
test ah, 0x44
jnp 0x1012aa02
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
cmp dword [ebp - 0x3c], 0
jne 0x1012aa0d
jmp 0x1012adf4
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x288], edx
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x288]
mov dword [ecx], edx
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x5f0]
mov eax, dword [edx]
mov dword [ebp - 0x5f4], eax
mov ecx, 0x98
shl ecx, 2
mov edx, dword [ebp - 0x5f4]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], ecx
mov edx, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x288]
call dword [ebp - 0x604]
mov byte [ebp - 0xaa], al
movzx ecx, byte [ebp - 0xaa]
test ecx, ecx
jne 0x1012aad2
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x44
je 0x1012aad7
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x2e
je 0x1012aad7
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x30
je 0x1012aad7
jmp 0x1012adf4
mov edx, dword [0x101c6920]
and edx, 1
jne 0x1012ac78
mov eax, dword [0x101c6920]
or eax, 1
mov dword [0x101c6920], eax
xor ecx, ecx
mov byte [ebp - 0x1dc], cl
mov dword [ebp - 0x8d4], 0x1aef2a38
mov dword [ebp - 0x608], 0x1aef2a38
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0x61c], edx
mov eax, dword [0x101b5b70]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x60c], ecx
mov edx, dword [ebp - 0x60c]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 0
jne 0x1012ab4d
mov dword [ebp - 0x1a8], 0
jmp 0x1012ac6c
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0xec], eax
jmp 0x1012ab6a
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0
je 0x1012ac62
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x1a4], 0x811c9dc5
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0xd8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x1012abbe
jmp 0x1012ab9a
xor edx, edx
je 0x1012abd1
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x610], ecx
mov edx, dword [ebp - 0x610]
mov dword [ebp - 0x614], edx
mov dword [ebp - 0x110], 0
jmp 0x1012ac04
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x614]
jae 0x1012ac35
mov edx, dword [ebp - 0x290]
add edx, dword [ebp - 0x110]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x1a4]
imul ecx, eax, 0x1000193
mov dword [ebp - 0x1a4], ecx
jmp 0x1012abf5
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x61c]
jne 0x1012ac5d
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x1a8], ecx
jmp 0x1012ac6c
jmp 0x1012ab5b
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x1a8]
mov dword [0x101c6930], edx
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x44
je 0x1012ad71
mov ecx, dword [0x101c6930]
mov dword [ebp - 0x298], ecx
lea edx, [ebp - 0x624]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x298]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x8d8], eax
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx]
mov dword [ebp - 0x628], edx
mov eax, 0xc
shl eax, 2
mov ecx, dword [ebp - 0x628]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x638], edx
mov ecx, dword [ebp - 0x298]
call dword [ebp - 0x638]
fstp dword [ebp - 0x63c]
movss xmm0, dword [ebp - 0x63c]
mulss xmm0, dword [0x10140fbc]
movss dword [ebp - 0x640], xmm0
movss xmm0, dword [ebp - 0x640]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [ebp - 0x644], xmm0
movss xmm0, dword [ebp - 0x644]
movss dword [ebp - 0x648], xmm0
movss xmm0, dword [ebp - 0x648]
comiss xmm0, dword [ebp - 0x68]
jbe 0x1012ad71
jmp 0x1012adf4
mov eax, dword [ebp - 0x8c]
mov byte [eax], 1
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x3c], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x44
mov dword [ebp - 0x760], ecx
mov byte [ebp - 0xab], 1
lea edx, [ebp - 0xab]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 8
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [ebp - 0x658]
push ecx
mov ecx, dword [ebp - 0x760]
call fcn.10084540
mov dword [ebp - 0x8dc], eax
jmp 0x1012b97a
mov edx, dword [ebp - 0x8c]
add edx, 0x14
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1ac]
movss xmm0, dword [ebp - 0x1c]
movss dword [eax], xmm0
mov ecx, dword [ebp - 0x1ac]
movss xmm0, dword [ebp - 0x18]
movss dword [ecx + 4], xmm0
mov edx, dword [ebp - 0x1ac]
movss xmm0, dword [ebp - 0x14]
movss dword [edx + 8], xmm0
movss xmm0, dword [0x10141038]
subss xmm0, dword [ebp - 0x5c]
mov eax, dword [0x101b5bd8]
mulss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x1b0], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x660], xmm0
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x664], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [ebp - 0x1b0]
movss dword [ebp - 0x668], xmm0
movss xmm0, dword [ebp - 0x660]
movss dword [ebp - 0x828], xmm0
movss xmm0, dword [ebp - 0x664]
movss dword [ebp - 0x824], xmm0
movss xmm0, dword [ebp - 0x668]
movss dword [ebp - 0x820], xmm0
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x66c], ecx
mov edx, dword [ebp - 0x66c]
mov dword [ebp - 0xb8], edx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x24], 1
jne 0x1012af01
mov dword [ebp - 0x10c], 0x8400b
jmp 0x1012af0b
mov dword [ebp - 0x10c], 0x4208608b
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0xb8]
movss xmm0, dword [eax]
addss xmm0, dword [ecx]
movss dword [ebp - 0x670], xmm0
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0xb8]
movss xmm0, dword [edx + 4]
addss xmm0, dword [eax + 4]
movss dword [ebp - 0x674], xmm0
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0xb8]
movss xmm0, dword [ecx + 8]
addss xmm0, dword [edx + 8]
movss dword [ebp - 0x678], xmm0
movss xmm0, dword [ebp - 0x670]
movss dword [ebp - 0x834], xmm0
movss xmm0, dword [ebp - 0x674]
movss dword [ebp - 0x830], xmm0
movss xmm0, dword [ebp - 0x678]
movss dword [ebp - 0x82c], xmm0
lea eax, [ebp - 0x834]
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0
je 0x1012b001
mov ecx, dword [ebp - 0x29c]
add ecx, 4
mov dword [ebp - 0x2a0], ecx
jmp 0x1012b00b
mov dword [ebp - 0x2a0], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x840], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x83c], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x838], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x844], xmm0
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x680]
push eax
mov ecx, dword [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x84c]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
mov eax, dword [ebp - 0x1bc]
push eax
mov ecx, dword [0x101b5b90]
call fcn.100836d0
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx + 0x37]
test edx, edx
je 0x1012b1f4
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x30]
and ecx, 0x80000
je 0x1012b1f4
push 0x54
push 0
mov edx, dword [ebp - 0x98]
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x98]
movss xmm0, dword [0x10141038]
movss dword [eax + 0x2c], xmm0
mov ecx, dword [ebp - 0x98]
mov dword [ecx + 0x3c], str.empty
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x684], eax
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2a4], edx
cmp dword [ebp - 0x2a4], 0
je 0x1012b140
mov eax, dword [ebp - 0x2a4]
add eax, 4
mov dword [ebp - 0x2a8], eax
jmp 0x1012b14a
mov dword [ebp - 0x2a8], 0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [0x10141078]
movss dword [ebp - 0x850], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x864], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x860], xmm0
movss xmm0, dword [0x10141230]
movss dword [ebp - 0x85c], xmm0
mov ecx, dword [ebp - 0x98]
push ecx
mov edx, dword [ebp - 0x684]
push edx
mov eax, dword [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x10c]
and ecx, 0xfff7ffff
push ecx
lea edx, [ebp - 0x858]
push edx
lea eax, [ebp - 0x864]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
mov edx, dword [ebp - 0x1bc]
push edx
mov ecx, dword [0x101b5b90]
call fcn.100836d0
nop
mov eax, dword [ebp - 0x98]
movss xmm0, dword [0x10141038]
comiss xmm0, dword [eax + 0x2c]
ja 0x1012b230
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx + 0x36]
test edx, edx
jne 0x1012b230
mov eax, dword [ebp - 0x98]
movzx ecx, byte [eax + 0x37]
test ecx, ecx
jne 0x1012b230
mov dword [ebp - 0x2ac], 0
jmp 0x1012b23a
mov dword [ebp - 0x2ac], 1
mov dl, byte [ebp - 0x2ac]
mov byte [ebp - 0xac], dl
movzx eax, byte [ebp - 0xac]
test eax, eax
je 0x1012b30c
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 0x4c], 0
je 0x1012b30c
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x2b4], eax
lea ecx, [ebp - 0x68c]
mov dword [ebp - 0x2b0], ecx
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x688], ecx
mov edx, dword [ebp - 0x688]
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x68c]
mov ecx, dword [eax]
mov dword [ebp - 0x690], ecx
mov edx, 0x98
shl edx, 2
mov eax, dword [ebp - 0x690]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x694], ecx
mov edx, dword [ebp - 0x694]
mov dword [ebp - 0x698], edx
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0x69c], eax
mov ecx, dword [ebp - 0x69c]
mov dword [ebp - 0x6a0], ecx
mov ecx, dword [ebp - 0x2b4]
call dword [ebp - 0x6a0]
mov byte [ebp - 0xad], al
movzx edx, byte [ebp - 0xad]
test edx, edx
jne 0x1012b311
jmp 0x1012b3bc
push 0x54
push 0
mov eax, dword [ebp - 0x98]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x98]
movss xmm0, dword [0x10141038]
movss dword [ecx + 0x2c], xmm0
mov edx, dword [ebp - 0x98]
mov dword [edx + 0x3c], str.empty
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
je 0x1012b37c
mov ecx, dword [ebp - 0x2b8]
add ecx, 4
mov dword [ebp - 0x2bc], ecx
jmp 0x1012b386
mov dword [ebp - 0x2bc], 0
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0x6a4]
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x1bc]
push ecx
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movzx edx, byte [ebp - 0x51]
test edx, edx
je 0x1012b528
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], 3
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c0], ecx
cmp dword [ebp - 0x2c0], 0
je 0x1012b40d
mov edx, dword [ebp - 0x2c0]
add edx, 4
mov dword [ebp - 0x2c4], edx
jmp 0x1012b417
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0xb8]
movss xmm0, dword [ecx]
addss xmm0, dword [edx]
movss dword [ebp - 0x6a8], xmm0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0xb8]
movss xmm0, dword [eax + 4]
addss xmm0, dword [ecx + 4]
movss dword [ebp - 0x6ac], xmm0
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0xb8]
movss xmm0, dword [edx + 8]
addss xmm0, dword [eax + 8]
movss dword [ebp - 0x6b0], xmm0
movss xmm0, dword [ebp - 0x6a8]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x6ac]
movss dword [ebp - 0x86c], xmm0
movss xmm0, dword [ebp - 0x6b0]
movss dword [ebp - 0x868], xmm0
lea ecx, [ebp - 0x870]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0xb8]
push ecx
lea edx, [ebp - 0x920]
push edx
mov ecx, dword [ebp - 0x6b8]
call fcn.10022f20
mov dword [ebp - 0x6c4], eax
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x6bc]
push ecx
mov edx, dword [ebp - 0x2c4]
push edx
push 0x8400b
mov eax, dword [ebp - 0x6c0]
push eax
mov ecx, dword [ebp - 0x6c4]
push ecx
mov ecx, dword [0x101b5b90]
call fcn.10083200
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x10140f94]
lahf
test ah, 0x44
jnp 0x1012b586
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
cmp dword [ebp - 0x3c], 0
jne 0x1012b591
jmp 0x1012b97a
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x2cc], ecx
lea edx, [ebp - 0x6cc]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2cc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x6c8], edx
mov eax, dword [ebp - 0x6c8]
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x6cc]
mov edx, dword [ecx]
mov dword [ebp - 0x6d0], edx
mov eax, 0x98
shl eax, 2
mov ecx, dword [ebp - 0x6d0]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x6dc], ecx
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], edx
mov ecx, dword [ebp - 0x2cc]
call dword [ebp - 0x6e0]
mov byte [ebp - 0xae], al
movzx eax, byte [ebp - 0xae]
test eax, eax
jne 0x1012b656
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x44
je 0x1012b65b
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x2e
je 0x1012b65b
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x30
je 0x1012b65b
jmp 0x1012b97a
mov ecx, dword [0x101c6920]
and ecx, 1
jne 0x1012b7ff
mov edx, dword [0x101c6920]
or edx, 1
mov dword [0x101c6920], edx
xor eax, eax
mov byte [ebp - 0x119], al
mov dword [ebp - 0x878], 0x1aef2a38
mov dword [ebp - 0x6e4], 0x1aef2a38
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [0x101b5b70]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x6e8]
mov dword [ebp - 0x2d0], ecx
cmp dword [ebp - 0x2d0], 0
jne 0x1012b6d4
mov dword [ebp - 0x1d0], 0
jmp 0x1012b7f3
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0xf0], edx
jmp 0x1012b6f1
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
je 0x1012b7e9
mov edx, dword [ebp - 0xf0]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x1cc], 0x811c9dc5
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0xdc]
movsx eax, byte [edx]
test eax, eax
je 0x1012b745
jmp 0x1012b721
xor ecx, ecx
je 0x1012b758
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0xf4], 0
jmp 0x1012b78b
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x6f0]
jae 0x1012b7bc
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0xf4]
movsx edx, byte [ecx]
xor edx, dword [ebp - 0x1cc]
imul eax, edx, 0x1000193
mov dword [ebp - 0x1cc], eax
jmp 0x1012b77c
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x6f4]
cmp edx, dword [ebp - 0x6f8]
jne 0x1012b7e4
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x1d0], eax
jmp 0x1012b7f3
jmp 0x1012b6e2
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1d0]
mov dword [0x101c6930], ecx
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x44
je 0x1012b8f7
mov eax, dword [0x101c6930]
mov dword [ebp - 0x2dc], eax
lea ecx, [ebp - 0x700]
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x2dc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2d8]
mov dword [ebp - 0x6fc], ecx
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [eax]
mov dword [ebp - 0x704], ecx
mov edx, 0xc
shl edx, 2
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + edx]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x708]
mov dword [ebp - 0x70c], edx
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x710]
mov dword [ebp - 0x714], ecx
mov ecx, dword [ebp - 0x2dc]
call dword [ebp - 0x714]
fstp dword [ebp - 0x718]
movss xmm0, dword [ebp - 0x718]
mulss xmm0, dword [0x10140fbc]
movss dword [ebp - 0x71c], xmm0
movss xmm0, dword [ebp - 0x71c]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss dword [ebp - 0x720], xmm0
movss xmm0, dword [ebp - 0x720]
movss dword [ebp - 0x724], xmm0
movss xmm0, dword [ebp - 0x724]
comiss xmm0, dword [ebp - 0x68]
jbe 0x1012b8f7
jmp 0x1012b97a
mov edx, dword [ebp - 0x8c]
mov byte [edx], 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x738], eax
mov byte [ebp - 0xaf], 1
lea ecx, [ebp - 0xaf]
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x728]
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x730]
push edx
mov eax, dword [ebp - 0x734]
push eax
mov ecx, dword [ebp - 0x738]
call fcn.10084540
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x40], 0x14
jle 0x1012ba0f
mov edx, dword [ebp - 0x8c]
mov byte [edx], 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x74c], eax
mov byte [ebp - 0xb0], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x73c]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x740]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x744]
push edx
mov eax, dword [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x74c]
call fcn.10084540
mov dword [ebp - 0x880], eax
jmp 0x1012ba24
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x40]
add edx, 1
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x40], edx
mov byte [ebp - 0x99], 0
movzx ecx, byte [ebp - 0x99]
test ecx, ecx
je 0x1012ba3b
jmp 0x1012bad9
mov edx, dword [ebp - 0x8c]
mov eax, dword [edx + 0x3c]
add eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x8c]
cmp eax, dword [ecx + 0x34]
jle 0x1012ba5a
jmp 0x10128a66
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x3c], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x44
mov dword [ebp - 0x78c], edx
mov byte [ebp - 0xb2], 0
lea eax, [ebp - 0xb2]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x750]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x8c]
add edx, 8
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x754]
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x758]
push ecx
mov edx, dword [ebp - 0x75c]
push edx
mov ecx, dword [ebp - 0x78c]
call fcn.10084540
mov dword [ebp - 0x884], eax
jmp 0x10128a66
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x3c]
add ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x8c]
cmp ecx, dword [edx + 0x34]
jg 0x1012bb6d
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x44
mov dword [ebp - 0x774], eax
mov byte [ebp - 0xb1], 0
lea ecx, [ebp - 0xb1]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x8c]
add eax, 8
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
push edx
mov eax, dword [ebp - 0x770]
push eax
mov ecx, dword [ebp - 0x774]
call fcn.10084540
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x8c]
cvtsi2ss xmm0, dword [ecx + 0x34]
mov edx, dword [0x101b5bd8]
mulss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x8c]
movss dword [eax + 0x2c], xmm0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1012d179
mov esp, ebp
pop ebp
ret 0x10