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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101342a0
mov eax, dword fs:[0]
push eax
sub esp, 0x920
mov eax, dword [0x10149040]
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 [0x101b2bd8]
movss xmm0, dword [0x1013def8]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x1013df40]
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.0x1012544e
mov ecx, dword [ebp - 0xfc]
jmp dword [ecx*4 + 0x10128900]
mov edx, dword [0x101b2bd8]
movss xmm0, dword [0x1013df88]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x1013df40]
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.0x1012544e
mov eax, dword [0x101b2bd8]
movss xmm0, dword [0x1013dfa8]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1013df40]
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.0x1012544e
mov ecx, dword [ebp - 0x8c]
movss xmm0, dword [0x1013df88]
movss dword [ecx + 0x28], xmm0
mov edx, dword [0x101b2bd8]
movss xmm0, dword [0x1013def0]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x1013df40]
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.0x1012544e
mov eax, dword [0x101c38ec]
and eax, 1
jne 0x101256b4
mov ecx, dword [0x101c38ec]
or ecx, 1
mov dword [0x101c38ec], 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 [0x101b2b70]
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 0x1012558a
mov dword [ebp - 0x140], 0
jmp 0x101256a9
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0xe0], ecx
jmp 0x101255a7
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x1012569f
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 0x101255fb
jmp 0x101255d7
xor eax, eax
je 0x1012560e
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 0x10125641
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x118]
cmp edx, dword [ebp - 0x340]
jae 0x10125672
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 0x10125632
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x348]
jne 0x1012569a
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x140], edx
jmp 0x101256a9
jmp 0x10125598
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
mov dword [0x101c38e4], eax
mov ecx, dword [0x101c38e4]
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 [0x101b2bd8]
movss xmm0, dword [0x1013def0]
divss xmm0, dword [ecx + 0x20]
addss xmm0, dword [0x1013df40]
cvttss2si edx, xmm0
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x38], eax
jmp 0x101257ab
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 [0x101b2bd8]
movss xmm0, dword [0x1013e064]
divss xmm0, dword [edx + 0x20]
addss xmm0, dword [0x1013df40]
cvttss2si eax, xmm0
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x34], ecx
jge 0x10128809
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x34]
jg 0x10125b42
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.0x1012582e
mov eax, dword [ebp - 0x100]
jmp dword [eax*4 + 0x10128918]
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 [0x1013dee4]
comiss xmm0, dword [ebp - 0x378]
jb 0x1012593c
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.100832e0
mov dword [ebp - 0x8e4], eax
jmp case.default.0x1012582e
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 [0x1013df00]
comiss xmm0, dword [ebp - 0x394]
jb 0x10125a48
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.100832e0
mov dword [ebp - 0x898], eax
jmp case.default.0x1012582e
mov ecx, dword [ebp - 0x8c]
cvtsi2ss xmm0, dword [ecx + 0x34]
mov edx, dword [0x101b2bd8]
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.0x1012582e
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.100832e0
mov dword [ebp - 0x89c], eax
mov eax, dword [0x101b2bd8]
movss xmm0, dword [0x1013df14]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1013df40]
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 0x10125b58
jmp 0x10125796
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx]
test edx, edx
je 0x10125b71
mov byte [ebp - 0x99], 1
jmp 0x1012875b
mov eax, dword [0x101c38e8]
and eax, 1
jne 0x10125d13
mov ecx, dword [0x101c38e8]
or ecx, 1
mov dword [0x101c38e8], 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 [0x101b2b70]
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 0x10125be9
mov dword [ebp - 0x148], 0
jmp 0x10125d08
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0xe4], ecx
jmp 0x10125c06
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x10125cfe
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 0x10125c5a
jmp 0x10125c36
xor eax, eax
je 0x10125c6d
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 0x10125ca0
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x3d8]
jae 0x10125cd1
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 0x10125c91
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
cmp ecx, dword [ebp - 0x3e0]
jne 0x10125cf9
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x148], edx
jmp 0x10125d08
jmp 0x10125bf7
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [0x101c38dc], eax
mov ecx, dword [0x101c38dc]
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 [0x1013df38]
mov eax, dword [0x101b2bd8]
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 [0x1013dfa8]
mov eax, dword [0x101b2bd8]
mulss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x40c], xmm0
mov ecx, dword [ebp - 0x8c]
mov edx, dword [0x101b2bd8]
movss xmm0, dword [ecx + 0x18]
mulss xmm0, dword [edx + 0x20]
movss dword [ebp - 0x408], xmm0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [0x101b2bd8]
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.10022f80
nop
lea edx, [ebp - 0x88]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x24], 1
jne 0x10125ed6
mov dword [ebp - 0x108], 0x8400b
jmp 0x10125ee0
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 0x10125fc5
mov eax, dword [ebp - 0x1f8]
add eax, 4
mov dword [ebp - 0x1fc], eax
jmp 0x10125fcf
mov dword [ebp - 0x1fc], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7b0], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7ac], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7a8], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x7bc], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x7b8], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 0x37]
test ecx, ecx
je 0x101261b6
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x30]
and eax, 0x80000
je 0x101261b6
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 [0x1013df68]
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 0x10126103
mov edx, dword [ebp - 0x200]
add edx, 4
mov dword [ebp - 0x204], edx
jmp 0x1012610d
mov dword [ebp - 0x204], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7c8], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7c4], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7c0], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x7d4], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x7d0], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
nop
mov edx, dword [ebp - 0x94]
movss xmm0, dword [0x1013df68]
comiss xmm0, dword [edx + 0x2c]
ja 0x101261f2
mov eax, dword [ebp - 0x94]
movzx ecx, byte [eax + 0x36]
test ecx, ecx
jne 0x101261f2
mov edx, dword [ebp - 0x94]
movzx eax, byte [edx + 0x37]
test eax, eax
jne 0x101261f2
mov dword [ebp - 0x208], 0
jmp 0x101261fc
mov dword [ebp - 0x208], 1
mov cl, byte [ebp - 0x208]
mov byte [ebp - 0xa1], cl
movzx edx, byte [ebp - 0xa1]
test edx, edx
je 0x101262ce
mov eax, dword [ebp - 0x94]
cmp dword [eax + 0x4c], 0
je 0x101262ce
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 0x101262d3
jmp 0x1012637e
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 [0x1013df68]
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 0x1012633e
mov eax, dword [ebp - 0x214]
add eax, 4
mov dword [ebp - 0x218], eax
jmp 0x10126348
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 [0x101b2b90]
call fcn.10081fa0
nop
movzx ecx, byte [ebp - 0x51]
test ecx, ecx
je 0x10126463
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 0x101263cf
mov ecx, dword [ebp - 0x21c]
add ecx, 4
mov dword [ebp - 0x220], ecx
jmp 0x101263d9
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.1002c810
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.10022d30
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 [0x101b2b90]
call fcn.10081fa0
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x1013dec4]
lahf
test ah, 0x44
jnp 0x101264c1
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 0x101264cc
jmp 0x101268b4
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 0x10126591
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x44
je 0x10126596
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x2e
je 0x10126596
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x30
je 0x10126596
jmp 0x101268b4
mov eax, dword [0x101c38e0]
and eax, 1
jne 0x10126738
mov ecx, dword [0x101c38e0]
or ecx, 1
mov dword [0x101c38e0], 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 [0x101b2b70]
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 0x1012660e
mov dword [ebp - 0x164], 0
jmp 0x1012672d
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0xe8], ecx
jmp 0x1012662b
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx + 4]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x10126723
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 0x1012667f
jmp 0x1012665b
xor eax, eax
je 0x10126692
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 0x101266c5
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
cmp edx, dword [ebp - 0x484]
jae 0x101266f6
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 0x101266b6
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
cmp ecx, dword [ebp - 0x48c]
jne 0x1012671e
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x164], edx
jmp 0x1012672d
jmp 0x1012661c
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [0x101c38f0], eax
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x44
je 0x10126831
mov edx, dword [0x101c38f0]
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 [0x1013deec]
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 0x10126831
jmp 0x101268b4
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.100832e0
mov dword [ebp - 0x8bc], eax
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax]
test ecx, ecx
je 0x101268cd
mov byte [ebp - 0x99], 1
jmp 0x1012875b
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x1013df68]
lahf
test ah, 0x44
jnp 0x10128754
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.100832e0
mov dword [ebp - 0x8c0], eax
movss xmm0, dword [0x1013df68]
movss dword [ebp - 0x24c], xmm0
cmp dword [ebp - 0x3c], 0
je 0x10126bb3
mov eax, dword [ebp - 0x3c]
push eax
call fcn.100bb360
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x101269f6
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 [0x1013df38]
mov ecx, dword [ebp - 0xd4]
movss dword [ecx], xmm0
mov edx, dword [ebp - 0xd4]
movss xmm0, dword [edx + 4]
mulss xmm0, dword [0x1013df38]
mov eax, dword [ebp - 0xd4]
movss dword [eax + 4], xmm0
mov ecx, dword [ebp - 0xd4]
movss xmm0, dword [ecx + 8]
mulss xmm0, dword [0x1013df38]
mov edx, dword [ebp - 0xd4]
movss dword [edx + 8], xmm0
jmp 0x10128754
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 0x10126ab3
movss xmm0, dword [0x1013df1c]
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 0x10126bb3
movzx eax, byte [ebp - 0x9a]
test eax, eax
je 0x10126ba7
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x20]
cmp edx, dword [ebp - 0x3c]
jne 0x10126ba7
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x24], 1
jmp 0x10128754
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 [0x1013dfa8]
movss dword [ebp - 0x53c], xmm0
mov dword [ebp - 0xa0], 0
jmp 0x10126c66
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 3
jae 0x10126dce
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 [0x1013e1c0]
movss dword [ebp - 0x568], xmm0
movss xmm0, dword [ebp - 0x568]
movss dword [ebp - 0x56c], xmm0
movss xmm0, dword [ebp - 0x56c]
comiss xmm0, dword [0x1013df68]
jb 0x10126d9e
jmp 0x10126c57
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 0x10126c57
movss xmm0, dword [0x1013df5c]
movss dword [ebp - 0x578], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x57c], xmm0
movss xmm0, dword [ebp - 0x24c]
mulss xmm0, dword [0x1013df3c]
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.1002b880
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 [0x1013df54]
jbe 0x10127b29
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 [0x1013e144]
jbe 0x10127010
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.10081f00
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 [0x1013df40]
jbe 0x10127010
movss xmm0, dword [0x1013df68]
subss xmm0, dword [ebp - 0x250]
addss xmm0, dword [0x1013df40]
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 [0x1013e110]
comiss xmm0, dword [ebp - 0x254]
jbe 0x101270a6
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 0x10127b24
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 [0x1013df68]
subss xmm0, dword [ebp - 0x5c]
mov ecx, dword [0x101b2bd8]
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 0x101271af
mov dword [ebp - 0x114], 0x8400b
jmp 0x101271b9
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.1002c810
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 0x1012722e
mov edx, dword [ebp - 0x258]
add edx, 4
mov dword [ebp - 0x25c], edx
jmp 0x10127238
mov dword [ebp - 0x25c], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7f8], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7f4], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x7f0], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x804], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx + 0x37]
test eax, eax
je 0x10127421
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + 0x30]
and edx, 0x80000
je 0x10127421
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 [0x1013df68]
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 0x1012736d
mov ecx, dword [ebp - 0x260]
add ecx, 4
mov dword [ebp - 0x264], ecx
jmp 0x10127377
mov dword [ebp - 0x264], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x810], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x80c], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x808], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x81c], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x818], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
nop
mov ecx, dword [ebp - 0x90]
movss xmm0, dword [0x1013df68]
comiss xmm0, dword [ecx + 0x2c]
ja 0x1012745d
mov edx, dword [ebp - 0x90]
movzx eax, byte [edx + 0x36]
test eax, eax
jne 0x1012745d
mov ecx, dword [ebp - 0x90]
movzx edx, byte [ecx + 0x37]
test edx, edx
jne 0x1012745d
mov dword [ebp - 0x268], 0
jmp 0x10127467
mov dword [ebp - 0x268], 1
mov al, byte [ebp - 0x268]
mov byte [ebp - 0xa8], al
movzx ecx, byte [ebp - 0xa8]
test ecx, ecx
je 0x10127539
mov edx, dword [ebp - 0x90]
cmp dword [edx + 0x4c], 0
je 0x10127539
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 0x1012753e
jmp 0x101275e9
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 [0x1013df68]
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 0x101275a9
mov edx, dword [ebp - 0x274]
add edx, 4
mov dword [ebp - 0x278], edx
jmp 0x101275b3
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 [0x101b2b90]
call fcn.10081fa0
nop
movzx eax, byte [ebp - 0x51]
test eax, eax
je 0x101276d4
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 0x1012763a
mov eax, dword [ebp - 0x27c]
add eax, 4
mov dword [ebp - 0x280], eax
jmp 0x10127644
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.1002c810
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.10022d30
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 [0x101b2b90]
call fcn.10081fa0
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x1013dec4]
lahf
test ah, 0x44
jnp 0x10127732
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 0x1012773d
jmp 0x10127b24
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 0x10127802
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x44
je 0x10127807
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x2e
je 0x10127807
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x30
je 0x10127807
jmp 0x10127b24
mov edx, dword [0x101c38e0]
and edx, 1
jne 0x101279a8
mov eax, dword [0x101c38e0]
or eax, 1
mov dword [0x101c38e0], 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 [0x101b2b70]
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 0x1012787d
mov dword [ebp - 0x1a8], 0
jmp 0x1012799c
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0xec], eax
jmp 0x1012789a
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 4]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0
je 0x10127992
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 0x101278ee
jmp 0x101278ca
xor edx, edx
je 0x10127901
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 0x10127934
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x614]
jae 0x10127965
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 0x10127925
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x61c]
jne 0x1012798d
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x1a8], ecx
jmp 0x1012799c
jmp 0x1012788b
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x1a8]
mov dword [0x101c38f0], edx
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x44
je 0x10127aa1
mov ecx, dword [0x101c38f0]
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 [0x1013deec]
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 0x10127aa1
jmp 0x10127b24
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.100832e0
mov dword [ebp - 0x8dc], eax
jmp 0x101286aa
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 [0x1013df68]
subss xmm0, dword [ebp - 0x5c]
mov eax, dword [0x101b2bd8]
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 0x10127c31
mov dword [ebp - 0x10c], 0x8400b
jmp 0x10127c3b
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 0x10127d31
mov ecx, dword [ebp - 0x29c]
add ecx, 4
mov dword [ebp - 0x2a0], ecx
jmp 0x10127d3b
mov dword [ebp - 0x2a0], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x840], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x83c], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x838], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x84c], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx + 0x37]
test edx, edx
je 0x10127f24
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x30]
and ecx, 0x80000
je 0x10127f24
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 [0x1013df68]
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 0x10127e70
mov eax, dword [ebp - 0x2a4]
add eax, 4
mov dword [ebp - 0x2a8], eax
jmp 0x10127e7a
mov dword [ebp - 0x2a8], 0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x854], xmm0
movss xmm0, dword [0x1013dfa8]
movss dword [ebp - 0x850], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x864], xmm0
movss xmm0, dword [0x1013e160]
movss dword [ebp - 0x860], xmm0
movss xmm0, dword [0x1013e160]
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 [0x101b2b90]
call fcn.10082470
nop
mov eax, dword [ebp - 0x98]
movss xmm0, dword [0x1013df68]
comiss xmm0, dword [eax + 0x2c]
ja 0x10127f60
mov ecx, dword [ebp - 0x98]
movzx edx, byte [ecx + 0x36]
test edx, edx
jne 0x10127f60
mov eax, dword [ebp - 0x98]
movzx ecx, byte [eax + 0x37]
test ecx, ecx
jne 0x10127f60
mov dword [ebp - 0x2ac], 0
jmp 0x10127f6a
mov dword [ebp - 0x2ac], 1
mov dl, byte [ebp - 0x2ac]
mov byte [ebp - 0xac], dl
movzx eax, byte [ebp - 0xac]
test eax, eax
je 0x1012803c
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 0x4c], 0
je 0x1012803c
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 0x10128041
jmp 0x101280ec
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 [0x1013df68]
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 0x101280ac
mov ecx, dword [ebp - 0x2b8]
add ecx, 4
mov dword [ebp - 0x2bc], ecx
jmp 0x101280b6
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 [0x101b2b90]
call fcn.10081fa0
nop
movzx edx, byte [ebp - 0x51]
test edx, edx
je 0x10128258
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 0x1012813d
mov edx, dword [ebp - 0x2c0]
add edx, 4
mov dword [ebp - 0x2c4], edx
jmp 0x10128147
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.10022d30
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 [0x101b2b90]
call fcn.10081fa0
nop
movss xmm0, dword [ebp - 0x5c]
ucomiss xmm0, dword [0x1013dec4]
lahf
test ah, 0x44
jnp 0x101282b6
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 0x101282c1
jmp 0x101286aa
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 0x10128386
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x30], 0x44
je 0x1012838b
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x2e
je 0x1012838b
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x30], 0x30
je 0x1012838b
jmp 0x101286aa
mov ecx, dword [0x101c38e0]
and ecx, 1
jne 0x1012852f
mov edx, dword [0x101c38e0]
or edx, 1
mov dword [0x101c38e0], 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 [0x101b2b70]
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 0x10128404
mov dword [ebp - 0x1d0], 0
jmp 0x10128523
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0xf0], edx
jmp 0x10128421
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0
je 0x10128519
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 0x10128475
jmp 0x10128451
xor ecx, ecx
je 0x10128488
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 0x101284bb
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0x6f0]
jae 0x101284ec
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 0x101284ac
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x6f4]
cmp edx, dword [ebp - 0x6f8]
jne 0x10128514
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x1d0], eax
jmp 0x10128523
jmp 0x10128412
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1d0]
mov dword [0x101c38f0], ecx
mov edx, dword [ebp - 0x8c]
cmp dword [edx + 0x30], 0x44
je 0x10128627
mov eax, dword [0x101c38f0]
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 [0x1013deec]
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 0x10128627
jmp 0x101286aa
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.100832e0
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x8c]
cmp dword [ecx + 0x40], 0x14
jle 0x1012873f
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.100832e0
mov dword [ebp - 0x880], eax
jmp 0x10128754
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 0x1012876b
jmp 0x10128809
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 0x1012878a
jmp 0x10125796
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.100832e0
mov dword [ebp - 0x884], eax
jmp 0x10125796
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 0x1012889d
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.100832e0
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x8c]
cvtsi2ss xmm0, dword [ecx + 0x34]
mov edx, dword [0x101b2bd8]
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.10129ea9
mov esp, ebp
pop ebp
ret 0x10