Function at 0x4875f0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9b0
mov esi, esp
mov dword [esi + 0x998], ebp
mov dword [esi + 0x99c], esp
mov dword [esi + 0x9a8], 0xffffffff
mov dword [esi + 0x9a4], 0x703630
mov dword [esi + 0x3e4], ecx
lea eax, [esi + 0x9a0]
mov ecx, dword fs:[0]
mov dword [esi + 0x9a0], ecx
mov dword fs:[0], eax
movsd xmm1, qword [edx + 0x130]
mov eax, dword [edx + 0x148]
movsd xmm2, qword [edx + 0x138]
mov ecx, dword [edx + 0x14c]
movsd xmm0, qword [edx + 0x140]
cmp dword [edx + 0x80], 0
movsd qword [esi + 0x7e8], xmm1
movsd xmm1, qword [edx + 0x120]
mov dword [esi + 0x800], eax
mov eax, dword [edx + 0xf8]
movsd qword [esi + 0x7f0], xmm2
movsd xmm2, qword [edx + 0x128]
mov dword [esi + 0x17c], ecx
mov ecx, dword [edx + 0xc8]
movsd qword [esi + 0x7f8], xmm0
movsd qword [esi + 0x7d8], xmm1
movsd xmm1, qword [edx + 0x118]
mov dword [esi + 0x850], eax
mov eax, dword [edx + 0x106]
movsd qword [esi + 0x7e0], xmm2
movsd xmm2, qword [edx + 0x110]
mov dword [esi + 0x28], ecx
mov ecx, dword [edx + 0xcc]
movsd qword [esi + 0x7d0], xmm1
movsd xmm1, qword [edx + 0xf0]
mov dword [esi + 0x810], eax
movzx eax, byte [edx + 0x10a]
movsd qword [esi + 0x7c8], xmm2
movsd xmm2, qword [edx + 0xe8]
mov dword [esi + 0x5c], ecx
movzx ecx, word [edx + 0xfc]
movsd qword [esi + 0x848], xmm1
movsd xmm1, qword [edx + 0xe0]
mov byte [esi + 0x3b0], al
movzx eax, byte [edx + 0x10f]
movsd qword [esi + 0x840], xmm2
movsd xmm2, qword [edx + 0xd8]
mov dword [esi + 0x3a0], ecx
movsd qword [esi + 0x838], xmm1
movsd xmm1, qword [edx + 0xd0]
mov byte [esi + 0x80], al
mov eax, dword [edx + 0x3c]
movsd qword [esi + 0x830], xmm2
movsd xmm2, qword [edx + 0xfe]
movsd qword [esi + 0x828], xmm1
movss xmm1, dword [edx + 0x10b]
mov dword [esi + 0x473], eax
mov eax, dword [edx + 0x39]
movsd qword [esi + 0x808], xmm2
movsd xmm2, qword [edx + 0x10]
movaps xmmword [esi + 0x190], xmm1
movsd xmm1, qword [edx + 0x18]
mov dword [esi + 0x470], eax
movzx eax, byte [edx + 0x38]
movsd qword [esi + 0x908], xmm2
movsd xmm2, qword [edx + 0x28]
movsd qword [esi + 0x910], xmm1
movsd xmm1, qword [edx + 0x20]
mov byte [esi + 0x2c], al
movzx eax, byte [edx + 0x150]
movsd qword [esi + 0x920], xmm2
movsd xmm2, qword [edx + 0x78]
movsd qword [esi + 0x918], xmm1
movsd xmm1, qword [edx + 0x30]
mov byte [esi + 0xcb], al
movzx eax, byte [edx + 0x151]
movsd qword [esi + 0x968], xmm2
movsd xmm2, qword [edx + 0x68]
movsd qword [esi + 0x928], xmm1
movsd xmm1, qword [edx + 0x70]
mov byte [esi + 0x9c], al
movzx eax, byte [edx + 0x152]
movsd qword [esi + 0x958], xmm2
movsd xmm2, qword [edx + 0x58]
movsd qword [esi + 0x960], xmm1
movsd xmm1, qword [edx + 0x60]
mov byte [esi + 0x52], al
call 0x487843
pop eax
movsd qword [esi + 0x948], xmm2
movq xmm2, qword [edx + 0x40]
mov dword [esi + 0x50c], eax
mov eax, dword [ebp + 8]
movsd qword [esi + 0x950], xmm1
movsd xmm1, qword [edx + 0x50]
movq qword [esi + 0x930], xmm2
movsd qword [esi + 0x940], xmm1
movq xmm1, qword [edx + 0x48]
movq qword [esi + 0x938], xmm1
je 0x4878e3
movups xmm2, xmmword [edx + 0x94]
movsd xmm1, qword [edx + 0xac]
movups xmm0, xmmword [edx + 0x84]
mov eax, dword [edx + 0xc4]
movaps xmmword [esi + 0x350], xmm2
movsd qword [esi + 0x4e0], xmm1
movq xmm2, qword [edx + 0xa4]
movdqu xmm1, xmmword [edx + 0xb4]
movaps xmmword [esi + 0x300], xmm0
mov dword [esi + 0xe8], eax
movq qword [esi + 0x4d8], xmm2
movdqa xmmword [esi + 0x4c0], xmm1
jmp 0x4879c9
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x4878fc
mov edx, eax
add edx, 0x10
jb 0x4878fc
lock cmpxchg dword [ecx], edx
je 0x48791f
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x10], ecx
mov dword [esi + 0x60], edi
call fcn.00719890
mov edi, dword [esi + 0x60]
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 0x1fc]
lock inc dword [edx]
jle 0x48d23f
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48795c
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x10], edx
call fcn.00719c10
mov edx, dword [esi + 0x10]
movups xmm0, xmmword [edx + 0xcc]
mov eax, dword [edx + 0x1e4]
movaps xmmword [esi + 0x4c0], xmm0
movups xmm0, xmmword [edx + 0x44]
mov dword [esi + 0xe8], eax
movaps xmmword [esi + 0x300], xmm0
movsd xmm0, qword [edx + 0xb4]
movsd qword [esi + 0x4e0], xmm0
movsd xmm0, qword [edx + 0xac]
movsd qword [esi + 0x4d8], xmm0
xorps xmm0, xmm0
lock dec dword [edx]
movaps xmmword [esi + 0x350], xmm0
jne 0x4879c9
mov ecx, edx
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
call fcn.004441b0
mov eax, dword [esi + 0x17c]
mov byte [esi + 0xf0], 1
test eax, eax
je 0x487a70
cmp byte [eax], 0
jne 0x487a70
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x487a03
mov edx, eax
add edx, 0x10
jb 0x487a03
lock cmpxchg dword [ecx], edx
je 0x487a26
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x10], ecx
mov dword [esi + 0x60], edi
call fcn.00719890
mov edi, dword [esi + 0x60]
mov ecx, dword [esi + 0x10]
mov eax, 0xfffffff0
movzx edx, byte [edi + 0x218]
lock xadd dword [edi + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x487a5d
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov byte [esi + 0x10], dl
call fcn.00719c10
movzx edx, byte [esi + 0x10]
test dl, dl
mov dword [esi + 0x9a8], 1
setne byte [esi + 0xf0]
mov edi, dword [esi + 0x28]
mov ecx, 0x2df45158
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
xor edi, 0x38d01376
mov eax, edi
mul ecx
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x10], eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
imul edi, edi, 0xb36a80d2
xor ecx, 0x452821e6
imul edx, ecx, 0x2df45158
bswap ecx
add edx, eax
mov eax, ecx
mov dword [esi + 0x60], edx
mov edx, 0xb36a80d2
mul edx
mov ebx, eax
imul eax, ecx, 0xa7ae0bd2
mov ecx, 0x4c957f2d
add eax, edx
bswap ebx
add edi, eax
xor ebx, dword [esi + 0x60]
bswap edi
xor edi, dword [esi + 0x10]
mov eax, edi
mul ecx
mov ecx, eax
imul eax, edi, 0x5851f42d
add eax, edx
imul edx, ebx, 0x4c957f2d
mov dword [esi + 0xd0], ecx
add edx, eax
add ecx, 0xb1ab8011
mov eax, edx
mov dword [esi + 0x70], edx
mov edx, 0x2df45158
adc eax, 0xeb21b576
xor ecx, 0x80da7657
xor eax, 0x760a7ee
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
add edx, eax
mov eax, ebx
mov dword [esi + 0x60], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
imul ebx, ecx, 0xb36a80d2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ebx, eax
xor edi, dword [esi + 0x60]
bswap ebx
xor ebx, dword [esi + 0x10]
imul ecx, edi, 0xcf6654be
bswap edi
mov eax, ebx
mul edx
mov dword [esi + 0x10], eax
imul eax, ebx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ecx, eax
mov eax, edi
mul edx
mov dword [esi + 0x60], ecx
mov ecx, edx
imul edx, edi, 0x41ab9930
add edx, ecx
mov ecx, ebx
bswap ecx
imul edi, ecx, 0xcb16f391
mov ecx, eax
add edi, edx
bswap ecx
bswap edi
xor ecx, dword [esi + 0x60]
xor edi, dword [esi + 0x10]
test bl, 0x20
mov eax, ecx
cmovne eax, edi
cmovne edi, ecx
mov ecx, ebx
movzx ebx, byte [esi + 0xf0]
mov edx, edi
shld edx, eax, cl
shld eax, edi, cl
mov ecx, dword [ebp + 8]
push ebx
push eax
call fcn.0051cb20
add esp, 8
movss dword [esi + 0xa0], xmm0
xorps xmm0, xmm0
ucomiss xmm0, dword [esi + 0xa0]
setae al
or al, byte [esi + 0xf0]
jne 0x487f9d
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov dword [esi + 0x54], ecx
test al, 8
jne 0x487c25
mov edx, eax
add edx, 0x10
jb 0x487c25
lock cmpxchg dword [ecx], edx
je 0x487c3b
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x10], edi
call fcn.00719890
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x54]
cmp dword [edi + 0x13c], 0
mov dl, 1
je 0x487d40
mov ebx, dword [esi + 0x28]
mov ecx, dword [edi + 0x130]
mov edx, dword [edi + 0x134]
pcmpeqd xmm1, xmm1
mov dword [esi + 0x48], 0
mov eax, ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x10], edx
shr eax, 0x19
movd xmm0, eax
lea eax, [ecx - 0x20]
punpcklbw xmm0, xmm0
mov dword [esi + 0x60], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
and ebx, edx
movdqa xmm3, xmm0
movdqu xmm2, xmmword [ecx + ebx]
pcmpeqb xmm3, xmm2
pmovmskb eax, xmm3
nop word [eax + eax]
test ax, ax
je 0x487cd0
tzcnt edi, eax
mov edx, dword [esi + 0x60]
lea ecx, [eax - 1]
add edi, ebx
and ecx, eax
and edi, dword [esi + 0x10]
mov eax, edi
shl eax, 5
sub edx, eax
mov eax, dword [edx + 4]
mov edx, dword [edx]
xor eax, dword [esi + 0x5c]
xor edx, dword [esi + 0x28]
or edx, eax
mov eax, ecx
jne 0x487ca0
jmp 0x487cf5
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x488ad9
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x10]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x48], eax
jmp 0x487c87
mov edx, dword [esi + 0x4c]
neg edi
shl edi, 5
movsx eax, byte [edx + edi - 8]
movsx ecx, byte [edx + edi - 7]
movsd xmm3, qword [edx + edi - 0x10]
movsd xmm2, qword [edx + edi - 0x18]
xor edx, edx
movss xmm0, dword [ecx*4 + 0x8f8714]
movss xmm1, dword [eax*4 + 0x8f86d8]
mov ecx, dword [esi + 0x54]
unpcklps xmm1, xmm0
mulps xmm1, xmm3
subps xmm2, xmm1
addps xmm3, xmm2
movaps xmmword [esi + 0x10], xmm2
movaps xmmword [esi + 0x60], xmm3
jmp 0x487d40
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x487d6e
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x54], edx
call fcn.00719c10
mov edx, dword [esi + 0x54]
test dl, dl
jne 0x487f9d
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x487d92
mov edx, eax
add edx, 0x10
jb 0x487d92
lock cmpxchg dword [ecx], edx
je 0x487db5
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x54], ecx
mov dword [esi + 0x4c], edi
call fcn.00719890
mov edi, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
movsd xmm0, qword [edi + 0x410]
movq xmm1, qword [edi + 0x418]
mov eax, 0xfffffff0
movq qword [esi + 0x128], xmm1
movsd qword [esi + 0x120], xmm0
lock xadd dword [edi + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x487dfe
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
call fcn.00719c10
mov eax, dword [ebp + 8]
mov eax, dword [eax]
lock inc dword [eax]
jle 0x48d23f
movsd xmm0, qword [esi + 0x120]
movsd xmm1, qword [esi + 0x128]
mov ecx, dword [esi + 0xe8]
movsd qword [esi + 0x578], xmm1
movsd qword [esi + 0x570], xmm0
mov dword [esi + 0x580], eax
mov eax, dword [esi + 0x28]
movsd xmm1, qword [esi + 0x4e0]
movdqa xmm0, xmmword [esi + 0x190]
mov dword [esi + 0x560], eax
mov eax, dword [esi + 0x5c]
movsd qword [esi + 0x1d0], xmm1
movdqa xmm1, xmmword [esi + 0x4c0]
mov dword [esi + 0x564], eax
movd eax, xmm0
movsd xmm0, qword [esi + 0x4d8]
shr eax, 0x18
mov byte [esi + 0x568], al
mov byte [esi + 0x584], 0
movsd qword [esi + 0x1c8], xmm0
pshufd xmm0, xmm1, 0x55
movd ebx, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
movss xmm0, dword [esi + 0xa0]
call fcn.0048e7c0
movss xmm0, dword [esi + 0xa0]
mov ecx, edi
mov dword [esi + 0x54], eax
call fcn.0048e7c0
movss xmm0, dword [esi + 0xa0]
mov ecx, ebx
mov edi, eax
call fcn.0048e7c0
movaps xmm0, xmmword [esi + 0x300]
movaps xmm1, xmmword [esi + 0x350]
movd xmm3, edi
movdqa xmm2, xmmword [esi + 0x10]
mov dword [esi + 0x9a8], 4
lea ecx, [esi + 0x670]
lea edx, [esi + 0x1a8]
movups xmmword [esi + 0x1a8], xmm0
movups xmmword [esi + 0x1b8], xmm1
movd xmm1, eax
mov eax, dword [esi + 0x54]
movq qword [esi + 0x858], xmm2
punpckldq xmm1, xmm3
pxor xmm3, xmm3
punpckldq xmm3, xmm1
movdqa xmm1, xmmword [0x725c80]
pand xmm1, xmmword [esi + 0x4c0]
por xmm1, xmm3
movdqu xmmword [esi + 0x1d8], xmm1
movdqa xmm1, xmmword [esi + 0x60]
mov dword [esi + 0x1e8], eax
lea eax, [esi + 0x858]
movq qword [esi + 0x860], xmm1
push eax
call fcn.0054b0f0
add esp, 4
lea ecx, [esi + 0x560]
lea edx, [esi + 0x670]
call fcn.005606f0
mov eax, dword [esi + 0x580]
lock dec dword [eax]
jne 0x487f9d
mov ecx, dword [esi + 0x580]
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
call fcn.00562540
cmp byte [esi + 0xf0], 0
je 0x48828e
mov ecx, dword [esi + 0xd0]
mov eax, dword [esi + 0x70]
mov edx, 0x2df45158
add ecx, 0x6a077c
adc eax, 0xd0401fdf
xor ecx, 0x1fec5d5f
xor eax, 0x46f2d5dc
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, ebx
mov dword [esi + 0x60], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ecx, eax
xor edi, dword [esi + 0x60]
bswap ecx
xor ecx, dword [esi + 0x10]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
imul edi, edi, 0x41ab9930
mul edx
add edi, edx
mov edx, ecx
bswap eax
bswap edx
xor eax, ebx
imul edx, edx, 0xcb16f391
add edx, edi
bswap edx
xor edx, dword [esi + 0x10]
test cl, 0x20
mov edi, edx
cmove edx, eax
cmovne edi, eax
mov eax, edx
shld eax, edi, cl
shld edi, edx, cl
mov ecx, dword [esi + 0xd0]
mov edx, 0x2df45158
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x11c], edi
add ecx, 0x32c00430
adc eax, 0x3187f094
xor ecx, 0xcd88b2ee
xor eax, 0x61c64448
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, ebx
mov dword [esi + 0x60], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ecx, eax
xor edi, dword [esi + 0x60]
bswap ecx
xor ecx, dword [esi + 0x10]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
imul edi, edi, 0x41ab9930
mul edx
add edi, edx
mov edx, ecx
bswap eax
bswap edx
xor eax, ebx
imul edx, edx, 0xcb16f391
add edx, edi
bswap edx
xor edx, dword [esi + 0x10]
test cl, 0x20
mov edi, edx
cmove edx, eax
cmovne edi, eax
mov eax, edx
shld eax, edi, cl
shld edi, edx, cl
mov ecx, 8
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x54], edi
mov edi, dword [eax]
xor eax, eax
lock cmpxchg dword [edi + 8], ecx
lea ecx, [edi + 8]
mov dword [esi + 0x180], ecx
je 0x488197
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
mov dword [esi + 0x10], edi
call fcn.007188f0
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x180]
cmp dword [edi + 0xfc], 0
mov dword [esi + 0x48], 2
je 0x489329
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x4c]
mov edx, dword [edi + 0xf0]
mov edi, dword [edi + 0xf4]
pcmpeqd xmm1, xmm1
mov dword [esi + 0xb0], 0
xor ecx, 0x2e326270
xor eax, 0xe9872a74
mov dword [esi + 0x58], edx
mov dword [esi + 0x10], edi
mov dword [esi + 0xf0], eax
mov eax, ecx
mov dword [esi + 0x60], ecx
shr eax, 0x19
movd xmm0, eax
lea eax, [edx - 0x20]
punpcklbw xmm0, xmm0
mov dword [esi + 0xa0], eax
mov eax, ecx
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
and eax, edi
movdqa xmm3, xmm0
movdqu xmm2, xmmword [edx + eax]
pcmpeqb xmm3, xmm2
pmovmskb edx, xmm3
nop word [eax + eax]
test dx, dx
je 0x488260
tzcnt ecx, edx
mov ebx, dword [esi + 0xa0]
lea edi, [edx - 1]
add ecx, eax
and edi, edx
and ecx, dword [esi + 0x10]
mov edx, ecx
shl edx, 5
sub ebx, edx
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
xor edx, dword [esi + 0xf0]
xor ebx, dword [esi + 0x60]
or ebx, edx
mov edx, edi
jne 0x488220
jmp 0x4882e8
pcmpeqb xmm2, xmm1
pmovmskb ecx, xmm2
test ecx, ecx
jne 0x489323
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0x58]
mov edi, dword [esi + 0x10]
lea eax, [eax + ecx + 0x10]
add ecx, 0x10
mov dword [esi + 0xb0], ecx
jmp 0x488207
mov eax, dword [esi + 0x3e4]
lea ecx, [esi + 0x7c8]
mov byte [esi + 0x53], 1
mov dword [esi + 0x9a8], 0
mov dword [eax + 0x28], 2
call fcn.00461b00
mov dword [esi + 0x9a8], 0x1c
push dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
call dword [eax]
add esp, 4
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0
je 0x48c3a7
cmp dword [eax + 8], 9
jae 0x488922
mov eax, dword [ebp + 0xc]
jmp 0x488928
mov edx, dword [esi + 0x58]
neg ecx
shl ecx, 5
cmp dword [edx + ecx - 0x18], 0
lea eax, [edx + ecx]
mov dword [esi + 0x9a8], 2
je 0x48893c
mov ecx, dword [eax - 8]
mov dword [esi + 0xf0], eax
mov eax, dword [eax - 4]
lea edi, [esi + 0x858]
mov dword [esi + 0x860], 0
mov dword [esi + 0x858], 1
mov dword [esi + 0x85c], 0x80
lea edx, [ecx + 8]
mov dword [esi + 0xa0], ecx
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x970], edx
mov dword [esi + 0x974], eax
push edi
push eax
call fcn.00692d10
add esp, 8
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x4889be
mov eax, dword [esi + 0x1ac]
movq xmm0, qword [esi + 0x1b8]
movq xmm1, qword [esi + 0x1c0]
mov dword [esi + 0x670], eax
mov eax, dword [esi + 0x1b4]
movq qword [esi + 0x560], xmm0
movq qword [esi + 0x568], xmm1
mov dword [esi + 0x678], eax
mov eax, dword [esi + 0x1b0]
mov dword [esi + 0x674], eax
mov eax, dword [esi + 0x1c8]
movq qword [esi + 0x67c], xmm0
movq qword [esi + 0x684], xmm1
mov dword [esi + 0x570], eax
mov dword [esi + 0x68c], eax
mov eax, dword [esi + 0x1cc]
mov dword [esi + 0x690], eax
mov eax, dword [esi + 0x1d0]
test al, al
mov dword [esi + 0x694], eax
jne 0x488418
lea edx, [esi + 0x678]
lea ecx, [esi + 0x1a8]
push 0xa
push str.InnerState
call fcn.00690910
add esp, 8
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488a11
lea edx, [esi + 0x678]
lea ecx, [esi + 0x1a8]
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x4890e3
cmp byte [esi + 0x694], 0
mov byte [esi + 0x114], 1
je 0x488a58
mov byte [esi + 0x694], 0
cmp dword [esi + 0x670], 0
je 0x488471
mov eax, dword [esi + 0x674]
test eax, eax
je 0x488ae3
dec eax
mov dword [esi + 0x674], eax
lea edi, [esi + 0x670]
mov al, 2
mov dword [esi + 0xcc], 2
mov dword [esi + 0x3e8], edi
mov dword [esi + 0x10], eax
mov word [esi + 0x3ec], 0x129
lea edx, [edi + 8]
lea ecx, [esi + 0x1a8]
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488af0
cmp dword [edi + 0xc], 0
je 0x488b64
mov eax, dword [edi + 8]
test eax, eax
je 0x488b64
movzx ebx, byte [eax]
mov bh, byte [esi + 0x3ed]
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x1a8], 3
call fcn.00575e70
movzx eax, byte [esi + 0x3ec]
test bh, bh
je 0x488bc1
cmp bl, al
setne cl
je 0x488bfe
mov edx, dword [esi + 0x3e8]
cmp al, 0x29
mov byte [esi + 0x348], cl
mov eax, dword [edx]
mov dword [esi + 0x60], edx
jne 0x48862f
test eax, eax
je 0x48852b
mov eax, dword [edx + 4]
test eax, eax
je 0x488c8b
dec eax
mov dword [edx + 4], eax
lea ecx, [esi + 0x1a8]
call fcn.0051e5f0
mov eax, dword [esi + 0x1a8]
mov ebx, dword [esi + 0x344]
cmp eax, 0x2c
je 0x4885c3
movzx ecx, byte [esi + 0x1af]
movzx ebx, word [esi + 0x1ad]
movzx edx, word [esi + 0x1b5]
movss xmm0, dword [esi + 0x1b0]
mov edi, dword [esi + 0x1b8]
shl ecx, 0x10
movss dword [esi + 0x508], xmm0
mov dword [esi + 0x4f8], edi
or ebx, ecx
movzx ecx, byte [esi + 0x1b4]
mov byte [esi + 0xed], cl
movzx ecx, byte [esi + 0x1b7]
shl ecx, 0x10
or edx, ecx
mov dword [esi + 0x500], edx
lea edx, [esi + 0x1c0]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
mov edx, dword [esi + 0x1bc]
mov dword [esi + 0x568], ecx
movsd qword [esi + 0x560], xmm0
mov dword [esi + 0x4f0], edx
mov edi, dword [esi + 0x60]
movzx ecx, byte [esi + 0x1ac]
cmp dword [edi], 0
mov byte [esi + 0x58], cl
je 0x4885e4
mov ecx, dword [edi + 4]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x568]
movsd xmm0, qword [esi + 0x560]
mov edx, dword [esi + 0x4f8]
mov edi, dword [esi + 0x4f0]
mov dword [esi + 0x344], ebx
mov dword [esi + 0x40], ebx
movzx ebx, byte [esi + 0xed]
mov dword [esi + 0x488], ecx
movsd qword [esi + 0x480], xmm0
mov ecx, dword [esi + 0x500]
movd xmm0, dword [esi + 0x508]
jmp 0x488741
test eax, eax
je 0x488642
mov eax, dword [edx + 4]
test eax, eax
je 0x488c8b
dec eax
mov dword [edx + 4], eax
lea ecx, [esi + 0x1a8]
call fcn.0051e5f0
mov eax, dword [esi + 0x1a8]
mov ebx, dword [esi + 0x8f0]
cmp eax, 0x2c
je 0x4886da
movzx ecx, byte [esi + 0x1af]
movzx ebx, word [esi + 0x1ad]
movzx edx, word [esi + 0x1b5]
movss xmm0, dword [esi + 0x1b0]
mov edi, dword [esi + 0x1b8]
shl ecx, 0x10
movss dword [esi + 0x504], xmm0
mov dword [esi + 0x4f4], edi
or ebx, ecx
movzx ecx, byte [esi + 0x1b4]
mov byte [esi + 0xec], cl
movzx ecx, byte [esi + 0x1b7]
shl ecx, 0x10
or edx, ecx
mov dword [esi + 0x4fc], edx
lea edx, [esi + 0x1c0]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
mov edx, dword [esi + 0x1bc]
mov dword [esi + 0x568], ecx
movsd qword [esi + 0x560], xmm0
mov dword [esi + 0x4ec], edx
mov edi, dword [esi + 0x60]
movzx ecx, byte [esi + 0x1ac]
cmp dword [edi], 0
mov byte [esi + 0x58], cl
je 0x4886fb
mov ecx, dword [edi + 4]
mov edx, 0xffffffff
inc ecx
cmove ecx, edx
mov dword [edi + 4], ecx
mov ecx, dword [esi + 0x568]
movsd xmm0, qword [esi + 0x560]
mov edx, dword [esi + 0x4f4]
mov edi, dword [esi + 0x4ec]
mov dword [esi + 0x8f0], ebx
mov dword [esi + 0x40], ebx
movzx ebx, byte [esi + 0xec]
mov dword [esi + 0x488], ecx
movsd qword [esi + 0x480], xmm0
mov ecx, dword [esi + 0x4fc]
movd xmm0, dword [esi + 0x504]
cmp eax, 0x2c
mov byte [esi + 0x44], bl
mov dword [esi + 0x3c], ecx
mov dword [esi + 0xb0], edx
mov dword [esi + 0x100], edi
movd dword [esi + 0x38], xmm0
jne 0x488c2c
movzx eax, byte [esi + 0x58]
test al, al
je 0x4888d0
movzx eax, al
cmp eax, 1
je 0x4887a9
cmp eax, 3
je 0x488bfe
lea ecx, [esi + 0x1a8]
lea edx, [esi + 0x3e8]
call fcn.00482a40
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488e00
mov edi, dword [esi + 0x3e8]
jmp 0x488495
cmp dword [esi + 0xcc], 2
jne 0x488dd9
mov eax, dword [esi + 0x60]
lea ecx, [esi + 0x1a8]
lea ebx, [eax + 8]
mov edx, ebx
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488cc2
mov ecx, ebx
mov edx, 0x8f6e64
push 1
call fcn.0068e530
add esp, 4
xor edi, edi
test al, al
je 0x488ed2
lea ecx, [esi + 0x1a8]
mov edx, ebx
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488cc2
mov edx, dword [esi + 0x60]
cmp dword [edx], 0
je 0x488826
mov eax, dword [edx + 4]
test eax, eax
je 0x48d1da
dec eax
mov dword [edx + 4], eax
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x4e8], ebx
call fcn.0051d1a0
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
movd xmm0, dword [esi + 0x1b0]
mov edi, dword [esi + 0x4e8]
cmp eax, 0x2c
mov dword [esi + 0xcc], ecx
movd dword [esi + 0xe4], xmm0
jne 0x488edf
mov edx, dword [esi + 0x60]
cmp dword [edx], 0
je 0x48887f
mov eax, dword [edx + 4]
mov ecx, 0xffffffff
inc eax
cmove eax, ecx
mov dword [edx + 4], eax
lea ecx, [esi + 0x1a8]
mov edx, edi
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488d27
mov ecx, edi
mov edx, str._____
push 1
call fcn.0068e530
add esp, 4
test al, al
je 0x48890f
lea ecx, [esi + 0x1a8]
mov edx, edi
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x488d27
mov al, 1
jmp 0x488911
cmp byte [esi + 0x10], 2
jne 0x488dc3
lea ecx, [esi + 0x1a8]
lea edx, [esi + 0x3e8]
call fcn.0051e6d0
mov eax, dword [esi + 0x1a8]
movzx ecx, byte [esi + 0x1ac]
cmp eax, 0x2c
mov dword [esi + 0x10], ecx
jne 0x488e5e
mov edi, dword [esi + 0x3e8]
jmp 0x488495
xor eax, eax
mov byte [esi + 0x3ed], al
mov edi, dword [esi + 0x3e8]
jmp 0x488495
mov eax, dword [ebp + 0xc]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x48c3a7
mov edx, dword [eax - 0x10]
mov eax, dword [eax - 0xc]
lea ecx, [esi + 0x818]
mov dword [esi + 0x10], edx
push edx
push ecx
call dword [eax + 0xc]
add esp, 8
mov eax, dword [esi + 0x824]
mov ecx, dword [esi + 0x820]
mov edi, dword [esi + 0x818]
mov edx, dword [esi + 0x81c]
xor edi, 0xa423722e
xor ecx, 0xd1e00667
xor edx, 0x1417fb2d
xor eax, 0x2cd2e283
or ecx, edi
or eax, edx
or eax, ecx
jne 0x489323
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x180]
mov dword [esi + 0x48], 2
mov eax, dword [edx]
cmp eax, 2
je 0x489329
movsd xmm0, qword [edx + 4]
mov dword [esi + 0x48], eax
movsd qword [esi + 0x1a8], xmm0
jmp 0x489329
movsd xmm1, qword [esi + 0x1b8]
mov ebx, dword [esi + 0x1ac]
mov edi, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1c8]
movsd xmm2, qword [esi + 0x1c0]
movq xmm0, qword [esi + 0x1cc]
movsd qword [esi + 0x560], xmm1
movsd qword [esi + 0x360], xmm1
movsd qword [esi + 0x368], xmm2
mov dword [esi + 0x370], ecx
jmp 0x48918e
movzx ecx, byte [esi + 0x1af]
movzx edx, word [esi + 0x1ad]
movzx edi, word [esi + 0x1b5]
movzx ebx, byte [esi + 0x1ac]
shl ecx, 0x10
or edx, ecx
movzx ecx, byte [esi + 0x1b7]
shl ecx, 0x10
or edi, ecx
mov ecx, dword [esi + 0x1c8]
mov dword [esi + 0x130], ecx
mov ecx, dword [esi + 0x1b0]
mov dword [esi + 0x60], ecx
jmp 0x489116
mov edi, dword [esi + 0x67c]
mov edx, str.InnerState
mov ebx, str.InnerState
mov eax, 0x15
mov dword [esi + 0x60], 0xa
shr edx, 8
test edi, edi
je 0x488ad1
mov ecx, dword [esi + 0x678]
cmp byte [ecx], 0x28
jne 0x488ad1
mov dword [esi + 0x10], ecx
movzx ecx, byte [ecx]
mov eax, dword [esi + 0x684]
mov ebx, dword [esi + 0x688]
mov dword [esi + 0x1a8], 3
mov byte [esi + 0x60], cl
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x58], eax
call fcn.00575e70
cmp byte [esi + 0x60], 0xa
jne 0x488c32
mov eax, dword [esi + 0x58]
mov ebx, 1
inc eax
mov dword [esi + 0x684], eax
jmp 0x488c33
mov dword [esi + 0x10], ecx
jmp 0x489140
mov ecx, dword [esi + 0x54]
mov dl, 1
jmp 0x487d40
mov eax, 0x2b
mov dword [esi + 0x10], ecx
jmp 0x489140
movzx ecx, byte [esi + 0x1af]
movzx edx, word [esi + 0x1ad]
movss xmm0, dword [esi + 0x1b0]
movzx ebx, byte [esi + 0x1ac]
shl ecx, 0x10
movss dword [esi + 0x38], xmm0
movsd xmm0, qword [esi + 0x1c0]
or edx, ecx
movzx ecx, byte [esi + 0x1b4]
mov dword [esi + 0x40], edx
movzx edx, word [esi + 0x1b5]
movsd qword [esi + 0x560], xmm0
mov byte [esi + 0x44], cl
movzx ecx, byte [esi + 0x1b7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esi + 0x1c8]
mov dword [esi + 0x3c], edx
mov edx, dword [esi + 0x1bc]
mov dword [esi + 0x568], ecx
mov ecx, dword [esi + 0x1b8]
jmp 0x488bd1
movzx eax, byte [esi + 0x1af]
movzx ecx, word [esi + 0x1ad]
movss xmm0, dword [esi + 0x1b0]
movzx ebx, byte [esi + 0x1ac]
mov edx, dword [esi + 0x1bc]
shl eax, 0x10
movss dword [esi + 0x38], xmm0
or ecx, eax
movzx eax, byte [esi + 0x1b4]
mov dword [esi + 0x40], ecx
movzx ecx, word [esi + 0x1b5]
mov byte [esi + 0x44], al
movzx eax, byte [esi + 0x1b7]
shl eax, 0x10
or ecx, eax
mov eax, 3
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x1b8]
jmp 0x488bd1
cmp bl, al
je 0x488bfe
movzx ebx, byte [esi + 0x348]
mov eax, 9
mov dword [esi + 0x100], edx
mov edx, dword [esi + 0x568]
movq xmm0, qword [esi + 0x560]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x488], edx
movq qword [esi + 0x480], xmm0
jmp 0x488c94
mov eax, dword [esi + 0x10]
cmp al, 2
jne 0x488c70
mov eax, 0x27
xor edi, edi
mov dword [esi + 0x100], 4
mov dword [esi + 0xb0], str.open
mov dword [esi + 0x10], 0
jmp 0x488f68
movzx ebx, byte [esi + 0x58]
jmp 0x488c94
inc ebx
mov eax, dword [esi + 0x10]
dec edi
mov dword [esi + 0x688], ebx
inc eax
mov dword [esi + 0x678], eax
mov dword [esi + 0x67c], edi
movzx eax, byte [esi + 0x694]
mov byte [esi + 0x114], al
mov byte [esi + 0x694], 0
cmp dword [esi + 0x670], 0
jne 0x48845c
jmp 0x488471
mov ecx, dword [esi + 0xcc]
and al, 1
mov dword [esi + 0x10], eax
xor eax, eax
cmp ecx, 2
movzx ebx, cl
cmove ebx, eax
jmp 0x489065
movzx ebx, byte [esi + 0x58]
mov eax, 0x2b
mov ecx, dword [esi + 0x488]
movsd xmm0, qword [esi + 0x480]
mov edi, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x318], ecx
mov ecx, ebx
movsd qword [esi + 0x310], xmm0
movd xmm0, dword [esi + 0x38]
jmp 0x488f61
movzx ecx, byte [esi + 0x1b7]
movzx edx, word [esi + 0x1b5]
movss xmm0, dword [esi + 0x1b0]
mov ebx, dword [esi + 0x1ac]
shl ecx, 0x10
movss dword [esi + 0xe4], xmm0
movq xmm0, qword [esi + 0x1c0]
mov edi, ebx
or edx, ecx
mov ecx, dword [esi + 0x1c8]
shr edi, 8
movq qword [esi + 0x480], xmm0
mov dword [esi + 0x488], ecx
movzx ecx, byte [esi + 0x1b4]
mov byte [esi + 0x44], cl
mov ecx, dword [esi + 0x1b8]
mov dword [esi + 0xb0], ecx
jmp 0x488f2f
movzx ecx, byte [esi + 0x1af]
movzx edi, word [esi + 0x1ad]
movzx edx, word [esi + 0x1b5]
movss xmm0, dword [esi + 0x1b0]
movzx ebx, byte [esi + 0x1ac]
shl ecx, 0x10
movss dword [esi + 0xe4], xmm0
movsd xmm0, qword [esi + 0x1c0]
or edi, ecx
movzx ecx, byte [esi + 0x1b7]
movsd qword [esi + 0x560], xmm0
shl ecx, 0x10
movq xmm0, qword [esi + 0x560]
or edx, ecx
mov ecx, dword [esi + 0x1c8]
movq qword [esi + 0x480], xmm0
mov dword [esi + 0x568], ecx
movzx ecx, byte [esi + 0x1b4]
mov byte [esi + 0x44], cl
mov ecx, dword [esi + 0x1b8]
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0x1bc]
mov dword [esi + 0x100], ecx
mov ecx, dword [esi + 0x568]
mov dword [esi + 0x488], ecx
jmp 0x488f3b
mov dword [esi + 0x100], 4
mov dword [esi + 0xb0], str.open
jmp 0x488ded
mov dword [esi + 0x100], 0xb
mov dword [esi + 0xb0], str.open_height
mov dword [esi + 0x10], 0
mov eax, 0x28
xor edi, edi
jmp 0x488f68
mov edi, dword [esi + 0x1ac]
movzx edx, word [esi + 0x1b5]
movsd xmm0, qword [esi + 0x1c0]
movd xmm1, dword [esi + 0x1b0]
mov ebx, dword [esi + 0x1b8]
mov ecx, edi
movzx ecx, byte [esi + 0x1b7]
mov dword [esi + 0x10], edi
movsd qword [esi + 0x310], xmm0
shr edi, 8
movdqa xmm0, xmm1
mov dword [esi + 0xb0], ebx
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esi + 0x1c8]
mov dword [esi + 0x318], ecx
movzx ecx, byte [esi + 0x1b4]
jmp 0x488ec1
movzx ecx, byte [esi + 0x1af]
movzx edi, word [esi + 0x1ad]
movzx edx, word [esi + 0x1b5]
movzx ebx, byte [esi + 0x1b4]
movsd xmm0, qword [esi + 0x1c0]
movd xmm1, dword [esi + 0x1b0]
shl ecx, 0x10
movsd qword [esi + 0x310], xmm0
movdqa xmm0, xmm1
or edi, ecx
movzx ecx, byte [esi + 0x1b7]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esi + 0x1c8]
mov dword [esi + 0x318], ecx
mov ecx, ebx
mov ebx, dword [esi + 0x1b8]
mov dword [esi + 0xb0], ebx
mov ebx, dword [esi + 0x1bc]
mov dword [esi + 0x100], ebx
jmp 0x488f68
mov ebx, dword [esi + 0xcc]
mov eax, 0x11
jmp 0x488f3b
movzx edi, byte [esi + 0x1b7]
mov ebx, dword [esi + 0x1b8]
movzx edx, word [esi + 0x1b5]
movzx ecx, byte [esi + 0x1b4]
movq xmm0, qword [esi + 0x1c0]
shl edi, 0x10
mov dword [esi + 0xb0], ebx
mov ebx, dword [esi + 0xcc]
mov byte [esi + 0x44], cl
movq qword [esi + 0x480], xmm0
or edx, edi
mov edi, dword [esi + 0x1c8]
mov dword [esi + 0x488], edi
mov edi, ebx
shr edi, 8
mov ecx, dword [esi + 0x1bc]
mov dword [esi + 0x100], ecx
mov ecx, dword [esi + 0x488]
movsd xmm0, qword [esi + 0x480]
mov dword [esi + 0x318], ecx
mov ecx, ebx
movsd qword [esi + 0x310], xmm0
movd xmm0, dword [esi + 0xe4]
mov dword [esi + 0x10], ecx
movzx ecx, byte [esi + 0x44]
movzx ebx, byte [esi + 0x10]
shl edi, 8
mov dword [esi + 0x1a8], eax
or ebx, edi
mov edi, str.InnerState
mov dword [esi + 0x1ac], ebx
movd dword [esi + 0x1b0], xmm0
mov byte [esi + 0x1b4], cl
mov ecx, dword [esi + 0xb0]
mov word [esi + 0x1b5], dx
shr edx, 0x10
movq xmm0, qword [esi + 0x310]
mov byte [esi + 0x1b7], dl
mov edx, dword [esi + 0x100]
mov dword [esi + 0x1b8], ecx
mov ecx, dword [esi + 0x318]
mov dword [esi + 0x1bc], edx
movq qword [esi + 0x1c0], xmm0
lea edx, [esi + 0x1a8]
mov dword [esi + 0x1c8], ecx
xor ecx, ecx
cmp byte [esi + 0x114], 0
cmovne edi, ecx
lea ecx, [esi + 0x560]
push 0xa
push edi
call fcn.006934f0
add esp, 8
movzx ecx, byte [esi + 0x56f]
movzx edi, word [esi + 0x56d]
movsd xmm0, qword [esi + 0x570]
mov eax, dword [esi + 0x560]
mov ebx, dword [esi + 0x564]
movd xmm2, dword [esi + 0x568]
shl ecx, 0x10
movsd qword [esi + 0x858], xmm0
movq xmm0, qword [esi + 0x578]
or edi, ecx
mov ecx, dword [esi + 0x580]
cmp eax, 0x2c
movq qword [esi + 0x860], xmm0
mov dword [esi + 0x868], ecx
movzx ecx, byte [esi + 0x56c]
mov dword [esi + 0x10], ecx
jne 0x48c419
movd dword [esi + 0xe4], xmm2
cmp dword [esi + 0x670], 0
je 0x489083
mov eax, dword [esi + 0x674]
mov ecx, 0xffffffff
inc eax
cmovne ecx, eax
mov dword [esi + 0x674], ecx
lea ecx, [esi + 0x1a8]
lea edx, [esi + 0x678]
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x4890e3
cmp byte [esi + 0x114], 0
je 0x48c8c5
lea edx, [esi + 0x678]
lea ecx, [esi + 0x1a8]
call fcn.0068dc50
mov eax, dword [esi + 0x1a8]
cmp eax, 0x2c
jne 0x48c941
cmp dword [esi + 0x67c], 0
je 0x48d128
mov eax, 0x22
jmp 0x48c97f
mov ecx, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1c8]
mov ebx, dword [esi + 0x1ac]
movzx edi, word [esi + 0x1b5]
mov dword [esi + 0x60], ecx
movzx ecx, byte [esi + 0x1b7]
mov dword [esi + 0x130], edx
mov edx, ebx
shr edx, 8
shl ecx, 0x10
or edi, ecx
movq xmm0, qword [esi + 0x1b8]
movq xmm1, qword [esi + 0x1c0]
movzx ecx, byte [esi + 0x1b4]
movq qword [esi + 0x120], xmm0
movq qword [esi + 0x128], xmm1
mov dword [esi + 0x10], ecx
shl edx, 8
movzx ebx, bl
mov ecx, dword [esi + 0x130]
movsd xmm1, qword [esi + 0x120]
movsd xmm2, qword [esi + 0x128]
shl edi, 8
movq xmm0, qword [esi + 0x684]
or ebx, edx
movzx edx, byte [esi + 0x10]
mov dword [esi + 0x420], ecx
movsd qword [esi + 0x360], xmm1
movsd qword [esi + 0x368], xmm2
mov dword [esi + 0x370], ecx
or edx, edi
mov edi, dword [esi + 0x60]
mov dword [esi + 0x670], eax
movq xmm1, qword [esi + 0x360]
movq xmm2, qword [esi + 0x368]
mov eax, dword [esi + 0x370]
mov dword [esi + 0x674], ebx
mov dword [esi + 0x678], edi
mov dword [esi + 0x67c], edx
movq qword [esi + 0x680], xmm1
movq qword [esi + 0x688], xmm2
mov dword [esi + 0x690], eax
movq qword [esi + 0x694], xmm0
mov eax, dword [0x919aa8]
cmp eax, 1
jbe 0x489318
lea eax, [esi + 0x858]
mov dword [esi + 0x858], 0x7415ea
mov dword [esi + 0x85c], 0x2f
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x560]
mov dword [esi + 0x560], eax
lea eax, [esi + 0x670]
mov dword [esi + 0x564], 0x5cbf90
mov dword [esi + 0x568], eax
lea eax, [esi + 0x970]
mov dword [esi + 0x56c], 0x691770
mov dword [esi + 0x570], eax
mov dword [esi + 0x574], 0x693810
mov eax, dword [0x91975c]
mov dword [esi + str.egui:_Failed_to_deserialize__from_memory:___ron_error:], 0x742d48
mov dword [esi + 0x1d8], 3
mov dword [esi + 0x1dc], edx
lea edx, [esi + 0x1a8]
mov dword [esi + 0x1e0], 3
mov dword [esi + 0x1e4], 0
mov dword [esi + 0x1c8], 2
mov dword [esi + 0x1cc], 0x742dad
mov dword [esi + 0x1d0], 0x17
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x1b8], 0x17
mov dword [esi + 0x1b4], 0x742dad
mov dword [esi + 0x1bc], 0
mov dword [esi + 0x1c4], 0x6d
mov dword [esi + 0x1c0], 0x742dc4
mov dword [esi + 0x1a8], 1
mov dword [esi + 0x1ac], 0x122
mov dword [esi + 0x9a8], 3
cmp eax, 2
mov eax, 0x8b82b8
cmove eax, dword [0x9192e0]
cmove ecx, dword [str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
lea ecx, [esi + 0x670]
call fcn.00575e70
mov ecx, dword [esi + 0x180]
xor edx, edx
mov eax, 8
lock cmpxchg dword [ecx], edx
je 0x48934d
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
call fcn.00719150
mov edi, dword [esi + 0x48]
cmp edi, 2
jne 0x489366
movzx eax, byte [esi + 0x9c]
xor edi, edi
mov byte [esi + 0x3d8], al
jmp 0x489382
mov eax, dword [esi + 0x1b0]
movq xmm0, qword [esi + 0x1a8]
mov dword [esi + 0x3dc], eax
movq qword [esi + 0x3d4], xmm0
cmp byte [esi + 0x52], 0
movdqa xmm0, xmmword [esi + 0x190]
mov ecx, dword [esi + 0x54]
mov ah, byte [esi + 0x3b0]
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x3b0], 0
setne al
cmp byte [esi + 0x3d8], 0
movd ebx, xmm0
mov dword [esi + 0x3c8], ecx
mov dword [esi + 0x3cc], edx
mov dword [esi + 0x3d0], edi
mov dword [esi + 0x54], ebx
sete cl
test bh, bh
setne dl
test ah, ah
setne ah
and ah, dl
test bh, bh
mov byte [esi + 0xa0], ah
je 0x489469
cmp byte [esi + 0x2c], 0
je 0x489469
and al, cl
mov dword [esi + 0xf0], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x60], 0
jne 0x489481
mov ecx, dword [esi + 0x3a0]
xor eax, eax
movzx ebx, byte [esi + 0xa0]
mov dword [esi + 0x9a8], 1
cmp cl, 3
cmovne eax, ecx
movzx ecx, al
test ecx, ecx
setne dl
or dl, bl
cmp cx, 2
setne cl
mov dword [esi + 0xf0], edx
or cl, bl
mov dword [esi + 0x10], ecx
movzx ecx, ax
cmp ecx, 0x100
setae cl
and eax, 0xff00
or cl, bl
cmp eax, 0x200
setne al
mov dword [esi + 0x3b0], ecx
or al, bl
mov dword [esi + 0x60], eax
jmp 0x489481
mov dword [esi + 0xf0], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x60], 0
movsd xmm0, qword [esi + 0x848]
mov eax, dword [esi + 0x850]
movsd xmm1, qword [esi + 0x830]
movzx ecx, byte [esi + 0x80]
mov byte [esi + 8], 1
mov byte [esi + 9], 1
mov dword [esi + 0x9a8], 1
lea edx, [esi + 0x1a8]
movsd qword [esi + 0x1d0], xmm0
movsd xmm0, qword [esi + 0x840]
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x810]
movsd qword [esi + 0x1b8], xmm1
movsd xmm1, qword [esi + 0x910]
movsd qword [esi + 0x1c8], xmm0
movsd xmm0, qword [esi + 0x838]
movsd qword [esi + 0x498], xmm1
movsd qword [esi + 0x1c0], xmm0
movsd xmm0, qword [esi + 0x828]
movsd qword [esi + 0x1b0], xmm0
movsd xmm0, qword [esi + 0x928]
mov dword [esi + 0x1e6], eax
mov eax, dword [esi + 0x118]
movsd qword [esi + 0x4b0], xmm0
movsd xmm0, qword [esi + 0x920]
movsd qword [esi + 0x4a8], xmm0
movsd xmm0, qword [esi + 0x918]
movsd qword [esi + 0x4a0], xmm0
movsd xmm0, qword [esi + 0x908]
movsd qword [esi + 0x490], xmm0
mov dword [esi + 0x484], 0
mov dword [esi + 0x480], 1
mov dword [esi + 0x48c], eax
mov eax, dword [esi + 0x11c]
movsd xmm0, qword [esi + 0x808]
mov dword [esi + 0x488], eax
mov eax, dword [esi + 0x470]
mov byte [esi + 0x4b8], 0
movsd qword [esi + 0x1de], xmm0
movaps xmm0, xmmword [esi + 0x190]
mov dword [esi + 0x4b9], eax
mov eax, dword [esi + 0x473]
mov dword [esi + 0x4bc], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x1ac], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x3a0]
mov word [esi + 0x1dc], ax
mov byte [esi + 0x1ea], 0
movss dword [esi + 0x1eb], xmm0
mov byte [esi + 0x1ef], cl
lea ecx, [esi + 0x858]
push dword [ebp + 8]
call fcn.00535bb0
add esp, 4
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x48961b
mov edx, eax
add edx, 0x10
jb 0x48961b
lock cmpxchg dword [ecx], edx
je 0x48964e
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x190], ecx
mov dword [esi + 0x3a0], edi
call fcn.00719890
mov edi, dword [esi + 0x3a0]
mov ecx, dword [esi + 0x190]
mov edx, dword [edi + 0x1fc]
lock inc dword [edx]
jle 0x48d23f
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x489695
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x190], edx
call fcn.00719c10
mov edx, dword [esi + 0x190]
movss xmm0, dword [edx + 0x40]
addss xmm0, xmm0
movss dword [esi + 0x34c], xmm0
lock dec dword [edx]
jne 0x4896c8
mov ecx, edx
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.004441b0
movsx eax, byte [esi + 0x8d0]
movsx ecx, byte [esi + 0x8d1]
movsd xmm3, qword [esi + 0x8c8]
movsd xmm2, qword [esi + 0x8c0]
cmp byte [esi + 0xa0], 0
movss xmm0, dword [ecx*4 + 0x8f8720]
movss xmm1, dword [eax*4 + 0x8f86e4]
unpcklps xmm1, xmm0
mulps xmm1, xmm3
subps xmm2, xmm1
addps xmm3, xmm2
je 0x489917
mov ecx, dword [esi + 0xd0]
mov eax, dword [esi + 0x70]
mov edx, 0x2df45158
movaps xmmword [esi + 0x3a0], xmm3
movaps xmmword [esi + 0x190], xmm2
add ecx, 0xcbeb028a
adc eax, 0xe22bd8ee
xor ecx, 0xe7822356
xor eax, 0x5c75eab1
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0xd0], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, ebx
mov dword [esi + 0x70], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ecx, eax
xor edi, dword [esi + 0x70]
bswap ecx
xor ecx, dword [esi + 0xd0]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mul edx
mov dword [esi + 0xd0], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
imul edi, edi, 0x41ab9930
mul edx
add edi, edx
mov edx, ecx
bswap eax
bswap edx
xor eax, ebx
imul edx, edx, 0xcb16f391
add edx, edi
bswap edx
xor edx, dword [esi + 0xd0]
test cl, 0x20
mov edi, edx
cmove edx, eax
cmovne edi, eax
mov eax, edx
shld eax, edi, cl
shld edi, edx, cl
mov dword [esi + 0x70], eax
movzx eax, byte [esi + 0xa0]
mov dword [esi + 0xd0], edi
mov byte [esi + 0x120], al
mov eax, dword [esi + 0xf0]
mov byte [esi + 0x121], al
mov eax, dword [esi + 0x10]
mov byte [esi + 0x122], al
mov eax, dword [esi + 0x3b0]
mov byte [esi + 0x123], al
mov eax, dword [esi + 0x60]
mov byte [esi + 0x124], al
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x489855
mov edx, eax
add edx, 0x10
jb 0x489855
lock cmpxchg dword [ecx], edx
je 0x489882
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x80], ecx
mov dword [esi + 0x2c], edi
call fcn.00719890
mov edi, dword [esi + 0x2c]
mov ecx, dword [esi + 0x80]
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x2c]
mov ebx, dword [edi + 0x28]
mov dword [esi + 0x80], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x2c], eax
mov eax, 0xfffffff0
lock xadd dword [edi + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x4898d6
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x4c], edx
mov dword [esi + 0x9c], ebx
call fcn.00719c10
mov ebx, dword [esi + 0x9c]
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + 0x2c]
or dword [esi + 0x80], eax
je 0x489bfd
xor ebx, dword [esi + 0xd0]
xor edx, dword [esi + 0x70]
or edx, ebx
je 0x489bfd
mov byte [esi + 0x80], 2
movaps xmm2, xmmword [esi + 0x190]
movaps xmm3, xmmword [esi + 0x3a0]
mov dword [esi + 0x9a8], 5
jmp 0x48994c
cmp byte [esi + 0xf0], 0
jne 0x489711
cmp byte [esi + 0x10], 0
jne 0x489711
cmp byte [esi + 0x3b0], 0
jne 0x489711
cmp byte [esi + 0x60], 0
jne 0x489711
mov byte [esi + 0x80], 2
movzx eax, byte [esi + 0xa0]
mov edi, dword [esi + 0x54]
mov edx, dword [ebp + 8]
lea ebx, [esi + 0x1a8]
movlps qword [esi + 0x1a8], xmm2
movlps qword [esi + 0x1b0], xmm3
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
lea ecx, [esi + 0x970]
mov byte [esi + 0x670], al
mov eax, dword [esi + 0xf0]
shr edi, 0x18
mov byte [esi + 0x671], al
mov eax, dword [esi + 0x10]
mov byte [esi + 0x672], al
mov eax, dword [esi + 0x3b0]
mov byte [esi + 0x673], al
mov eax, dword [esi + 0x60]
mov byte [esi + 0x674], al
lea eax, [esi + 0x670]
push ebx
mov dword [esi + 0x54], edi
push edi
push dword [esi + 0x5c]
push dword [esi + 0x28]
push eax
call fcn.00526800
add esp, 0x14
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
lea ecx, [esi + 0x560]
lea edx, [esi + 0x858]
push dword [ebp + 8]
call fcn.00538ad0
add esp, 4
movaps xmm0, xmmword [esi + 0x300]
movaps xmm1, xmmword [esi + 0x350]
movsd xmm2, qword [esi + 0x4d8]
mov eax, dword [esi + 0xe8]
mov byte [esi + 0x32], 1
mov byte [esi + 0x33], 0
mov byte [esi + 0x34], 1
mov byte [esi + 0x35], 1
mov dword [esi + 0x9a8], 7
lea ecx, [esi + 0x670]
lea edx, [esi + 0x1a8]
movups xmmword [esi + 0x1a8], xmm0
movups xmmword [esi + 0x1b8], xmm1
movsd xmm1, qword [esi + 0x4e0]
movsd qword [esi + 0x1c8], xmm2
movsd qword [esi + 0x1d0], xmm1
movaps xmm1, xmmword [esi + 0x4c0]
movups xmmword [esi + 0x1d8], xmm1
mov dword [esi + 0x1e8], eax
lea eax, [esi + 0x560]
push eax
call fcn.0054a710
add esp, 4
cmp byte [esi + 0x52], 0
mov eax, dword [esi + 0x17c]
je 0x48a34f
movsd xmm2, qword [esi + 0x7f0]
movsd xmm1, qword [esi + 0x7e8]
test eax, eax
mov eax, dword [esi + 0x800]
movsd xmm0, qword [esi + 0x7f8]
setne byte [esi + 0xee]
movsd qword [esi + 0x438], xmm2
movsd qword [esi + 0x430], xmm1
movsd xmm2, qword [esi + 0x7e0]
movsd xmm1, qword [esi + 0x7d8]
mov dword [esi + 0x448], eax
movzx eax, byte [esi + 0xcb]
movsd qword [esi + 0x440], xmm0
movsd qword [esi + 0x428], xmm2
movsd qword [esi + 0x420], xmm1
movsd xmm2, qword [esi + 0x7c8]
movsd xmm1, qword [esi + 0x7d0]
mov byte [esi + 0xef], al
lea eax, [esi + 0xef]
movsd qword [esi + 0x418], xmm1
movsd qword [esi + 0x410], xmm2
mov dword [esi + 0x44c], eax
lea eax, [esi + 0x3c8]
mov dword [esi + 0x450], eax
lea eax, [esi + 0xee]
mov dword [esi + 0x454], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x489b6d
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x48d25e
mov dword [0x919820], eax
push 0x48
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x48d25e
lea ecx, [esi + 0x410]
push 0x48
push ecx
mov dword [esi + 0xa0], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x670]
cmp ecx, 2
jne 0x48a363
movzx eax, byte [esi + 0x72d]
mov edx, dword [esi + 0x50c]
movss xmm1, dword [esi + 0x718]
movss xmm0, dword [esi + 0x720]
movss xmm3, dword [esi + 0x708]
movss xmm2, dword [esi + 0x710]
movzx ecx, al
add edx, dword [ecx*4 + 0x48d8c8]
jmp edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
test al, 8
jne 0x489c1f
mov edx, eax
add edx, 0x10
jb 0x489c1f
lock cmpxchg dword [ecx], edx
je 0x489c40
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x2c], ecx
call fcn.00719890
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x80]
mov edi, 0xfffffff0
mov eax, dword [edx + 0xdc]
movups xmm0, xmmword [edx + 0xc8]
mov dword [esi + 0x100], eax
mov eax, dword [edx + 0xd8]
movaps xmmword [esi + 0x180], xmm0
mov dword [esi + 0x44], eax
movzx eax, byte [edx + 0xe0]
mov byte [esi + 0xb0], al
mov eax, dword [edx + 0xe4]
mov dword [esi + 0x563], eax
mov eax, dword [edx + 0xe1]
mov dword [esi + 0x560], eax
movzx eax, byte [edx + 0xe8]
mov ebx, dword [edx + 0xec]
mov byte [esi + 0x4c], al
movzx eax, byte [edx + 0xe9]
mov dword [esi + 0x58], ebx
mov byte [esi + 0x9c], al
movzx eax, byte [edx + 0xea]
mov byte [esi + 0x48], al
movzx eax, byte [edx + 0xeb]
mov byte [esi + 0x2c], al
lock xadd dword [edx + 8], edi
and edi, 0xfffffff2
cmp edi, 0x12
jne 0x489cef
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movzx eax, byte [esi + 0x2c]
cmp al, 2
jne 0x48a08a
movaps xmm0, xmmword [esi + 0x190]
mov eax, dword [esi + 0x54]
mov edx, dword [ebp + 8]
lea edi, [esi + 0x670]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
lea ebx, [esi + 0x120]
lea ecx, [esi + 0x1a8]
unpcklpd xmm0, xmmword [esi + 0x3a0]
shr eax, 0x18
movups xmmword [esi + 0x670], xmm0
push edi
push eax
push dword [esi + 0x5c]
push dword [esi + 0x28]
push ebx
call fcn.00526800
add esp, 0x14
mov ch, byte [esi + 0x1cb]
cmp ch, 2
je 0x4898f6
mov eax, dword [esi + 0x1bc]
movzx edx, byte [esi + 0x1ca]
mov cl, byte [esi + 0x1c9]
movups xmm0, xmmword [esi + 0x1a8]
mov edi, dword [esi + 0x1cc]
mov bl, 0x15
mov byte [esi + 0x2c], ch
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0x1c1]
mov byte [esi + 0x48], dl
mov byte [esi + 0x9c], cl
movaps xmmword [esi + 0x180], xmm0
mov dword [esi + 0x58], edi
mov dword [esi + 0x670], eax
mov eax, dword [esi + 0x1c4]
mov dword [esi + 0x673], eax
movzx eax, byte [esi + 0x1c8]
test al, al
mov byte [esi + 0x4c], al
setne al
test dl, dl
setne dl
and dl, al
test cl, cl
sete al
test ch, 1
sete cl
cmp dl, 1
movzx edx, byte [esi + 0x1c0]
mov byte [esi + 0xb0], dl
mov edx, dword [esi + 0x1b8]
mov dword [esi + 0x44], edx
je 0x489e3d
or al, cl
je 0x489e3d
test byte [esi + 0x2c], 1
mov bl, 0x14
sete al
cmp byte [esi + 0x9c], 0
sete dl
cmp byte [esi + 0x48], 0
sete ah
cmp byte [esi + 0x4c], 0
sete cl
or ah, dl
cmp ah, 1
jne 0x489e3d
or al, cl
je 0x489e3d
movzx eax, byte [esi + 0x4c]
mov bl, 0x13
or al, byte [esi + 0x9c]
jne 0x489e3d
movzx eax, byte [esi + 0x2c]
mov bl, 0x16
or al, byte [esi + 0x48]
je 0x489ea2
mov eax, dword [ebp + 8]
mov edx, 8
mov edi, dword [eax]
xor eax, eax
mov dword [esi + 0x80], edi
lea ecx, [edi + 8]
lock cmpxchg dword [edi + 8], edx
je 0x489e77
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov byte [esi + 0x3c], bl
mov dword [esi + 0x38], ecx
call fcn.007188f0
mov ecx, dword [esi + 0x38]
movzx ebx, byte [esi + 0x3c]
mov edx, dword [esi + 0x80]
mov eax, 8
xor edi, edi
mov byte [edx + 0x47d], bl
lock cmpxchg dword [edx + 8], edi
je 0x489ea2
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
call fcn.00719150
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
test al, 8
jne 0x489ec4
mov edx, eax
add edx, 0x10
jb 0x489ec4
lock cmpxchg dword [ecx], edx
je 0x489edb
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x3c], ecx
call fcn.00719890
mov ecx, dword [esi + 0x3c]
mov edi, dword [esi + 0x80]
mov edx, dword [edi + 0x314]
mov eax, dword [edi + 0x30c]
shl edx, 3
lea edx, [edx + edx*2]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, edx
test edx, edx
je 0x489f11
cmp byte [eax], 1
lea eax, [eax + 0x18]
lea edx, [ebx - 0x18]
jne 0x489f00
movzx eax, byte [edi + 0x318]
mov dword [esi + 0x3c], ebx
mov edx, 0xfffffff0
mov byte [esi + 0x38], al
lock xadd dword [edi + 8], edx
and edx, 0xfffffff2
cmp edx, 0x12
jne 0x489f4b
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
cmp dword [esi + 0x3c], 0
je 0x4898f6
cmp byte [esi + 0x38], 0
je 0x4898f6
mov eax, dword [ebp + 8]
mov ecx, 8
mov edx, dword [eax]
lea eax, [edx + 8]
mov dword [esi + 0x3c], edx
mov dword [esi + 0x80], eax
xor eax, eax
lock cmpxchg dword [edx + 8], ecx
je 0x489f9f
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.007188f0
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0xd0]
movaps xmm0, xmmword [esi + 0x180]
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 1
mov dword [edx + 0x28], eax
mov eax, dword [esi + 0x70]
mov dword [edx + 0x2c], eax
mov byte [edx + 0x78], 1
mov ecx, dword [esi + 0x673]
mov eax, dword [esi + 0x670]
mov dword [esi + 0x563], ecx
mov dword [esi + 0x560], eax
mov eax, dword [esi + 0x100]
movups xmmword [edx + 0xc8], xmm0
mov dword [edx + 0xdc], eax
mov eax, dword [esi + 0x44]
mov dword [edx + 0xd8], eax
movzx eax, byte [esi + 0xb0]
mov byte [edx + 0xe0], al
mov eax, dword [esi + 0x670]
mov ecx, dword [esi + 0x673]
mov dword [edx + 0xe1], eax
movzx eax, byte [esi + 0x4c]
mov dword [edx + 0xe4], ecx
xor ecx, ecx
mov byte [edx + 0xe8], al
movzx eax, byte [esi + 0x9c]
mov byte [edx + 0xe9], al
movzx eax, byte [esi + 0x48]
mov byte [edx + 0xea], al
movzx eax, byte [esi + 0x2c]
mov byte [edx + 0xeb], al
mov eax, dword [esi + 0x58]
mov dword [edx + 0xec], eax
mov eax, 8
lock cmpxchg dword [edx + 8], ecx
je 0x48a086
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719150
movzx eax, byte [esi + 0x2c]
mov byte [esi + 0x2c], al
mov ecx, dword [esi + 0x563]
mov eax, dword [esi + 0x560]
mov edx, 8
mov dword [esi + 0x1ab], ecx
mov dword [esi + 0x1a8], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
xor eax, eax
lock cmpxchg dword [ebx + 8], edx
lea ecx, [ebx + 8]
je 0x48a0e8
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x80], ecx
mov dword [esi + 0x3c], ebx
call fcn.007188f0
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x80]
mov eax, dword [ebx + 0x20]
xor edi, edi
mov edx, dword [ebx + 0x2c]
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x3c], eax
mov eax, dword [ebx + 0x28]
mov dword [esi + 0x38], eax
mov eax, 8
lock cmpxchg dword [ebx + 8], edi
je 0x48a12f
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
mov dword [esi + 0x40], edx
call fcn.00719150
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
or dword [esi + 0x80], eax
je 0x4898f6
mov eax, dword [esi + 0x38]
xor edx, dword [esi + 0x70]
xor eax, dword [esi + 0xd0]
or edx, eax
jne 0x4898f6
mov eax, dword [esi + 0x54]
shr eax, 0x18
cmp byte [esi + 0xb0], al
jne 0x4898f6
mov edx, dword [esi + 0x44]
mov ecx, dword [esi + 0x100]
xor edx, dword [esi + 0x28]
xor ecx, dword [esi + 0x5c]
or ecx, edx
jne 0x4898f6
mov dword [esi + 0xd0], eax
mov ecx, dword [esi + 0x1ab]
cmp byte [esi + 0x2c], 2
mov eax, dword [esi + 0x1a8]
mov byte [esi + 0x80], 2
mov dword [esi + 0x313], ecx
mov dword [esi + 0x310], eax
je 0x4898fd
cmp byte [esi + 0x52], 0
mov ecx, dword [esi + 0x313]
mov eax, dword [esi + 0x310]
mov dword [esi + 0x363], ecx
mov dword [esi + 0x360], eax
je 0x48c45f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x70], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48a1f4
mov ecx, eax
add ecx, 0x10
jb 0x48a1f4
mov edx, dword [esi + 0x70]
lock cmpxchg dword [edx], ecx
je 0x48a212
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x1fc]
mov dword [esi + 0x80], eax
lock inc dword [eax]
jle 0x48d23f
mov ecx, dword [esi + 0x70]
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48a25f
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
mov eax, dword [esi + 0x80]
mov dword [esi + 0x1a8], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov dword [esi + 0x70], ecx
test al, 8
jne 0x48a28a
mov ebx, eax
add ebx, 0x10
jb 0x48a28a
lock cmpxchg dword [ecx], ebx
je 0x48a2a5
mov dword [esi + 0x9a8], 0x1a
mov dword [esi + 0x80], edx
call fcn.00719890
mov edx, dword [esi + 0x80]
cmp dword [edx + 0x658], 0
mov dword [esi + 0x9a8], 0x1b
je 0x48d294
mov eax, dword [esi + 0x1a8]
add edx, 0x658
lea ecx, [esi + 0x7c8]
add eax, 8
push eax
call fcn.00557bb0
add esp, 4
mov ecx, dword [esi + 0x70]
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48a30b
mov dword [esi + 0x9a8], 0x1a
movaps xmmword [esi + 0x100], xmm0
call fcn.00719c10
movaps xmm0, xmmword [esi + 0x100]
addss xmm0, dword [esi + 0x34c]
mov eax, dword [esi + 0x1a8]
movaps xmmword [esi + 0x100], xmm0
lock dec dword [eax]
jne 0x48c469
mov ecx, dword [esi + 0x1a8]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.004441b0
jmp 0x48c469
mov al, 1
mov byte [esi + 0x38c], 2
mov dword [esi + 0x350], eax
jmp 0x48aa1e
mov eax, dword [esi + 0x6e8]
test ecx, ecx
je 0x48a3ac
lea ecx, [eax + 1]
cmp ecx, dword [esi + 0x674]
jne 0x48a3ac
cmp byte [esi + 0x6f0], 0
je 0x48c3bb
cmp dword [esi + 0x698], eax
jbe 0x48a397
mov ecx, dword [esi + 0x690]
test ecx, ecx
jne 0x48a3dd
movss xmm0, dword [esi + 0x6c8]
cmp dword [esi + 0x698], eax
xorps xmm2, xmm2
ja 0x48a3ed
jmp 0x48a3fc
movss xmm0, dword [esi + 0x6d0]
movaps xmm2, xmmword [0x725610]
movss xmm1, dword [0x7258a0]
andps xmm2, xmm0
ucomiss xmm1, xmm2
ja 0x48a3e2
cmp dword [esi + 0x680], eax
jbe 0x48a385
mov ecx, dword [esi + 0x678]
test ecx, ecx
je 0x48a385
movss xmm0, dword [ecx + eax*4]
cmp dword [esi + 0x698], eax
xorps xmm2, xmm2
jbe 0x48a3fc
mov ecx, dword [esi + 0x690]
test ecx, ecx
je 0x48a3fc
movss xmm2, dword [ecx + eax*4]
movss xmm1, dword [esi + 0x708]
movzx eax, byte [esi + 0x72d]
unpcklps xmm0, xmm1
movss xmm1, dword [esi + 0x718]
unpcklps xmm2, xmm1
movaps xmm1, xmm2
maxps xmm1, xmm0
cmpunordps xmm0, xmm0
andps xmm2, xmm0
andnps xmm0, xmm1
orps xmm0, xmm2
pshufd xmm1, xmm0, 0x55
addss xmm0, xmm1
jmp 0x48a4ca
mov ecx, dword [esi + 0x770]
subss xmm0, xmm1
test al, al
movss xmm1, dword [ecx + 0x74]
je 0x48a4f3
movzx edx, al
mov al, 1
cmp edx, 1
je 0x48a4f5
cmp byte [esi + 0x72c], 2
sete al
jmp 0x48a4f5
xor eax, eax
mov dword [esi + 0x468], 0x1000000
mov byte [esi + 0x46c], 1
mov byte [esi + 0x46d], al
movss xmm2, dword [ecx + 0x3c]
movss xmm3, dword [ecx + 0x40]
sub esp, 4
lea ebx, [esi + 0x670]
lea ecx, [esi + 0x520]
movss dword [esi + 0x300], xmm3
movss dword [esp], xmm3
movss dword [esi + 0x190], xmm2
movaps xmmword [esi + 0x70], xmm0
movss dword [esi + 0xd0], xmm1
mov edx, ebx
call fcn.00555a20
add esp, 4
movsd xmm0, qword [esi + 0x520]
movsd xmm1, qword [esi + 0x528]
lea edi, [esi + 0x120]
mov edx, ebx
lea ebx, [esi + 0x1a8]
mov ecx, edi
movsd qword [esi + 0x1b0], xmm1
movsd qword [esi + 0x1a8], xmm0
movaps xmm0, xmmword [esi + 0x70]
movss xmm1, dword [esi + 0xd0]
push ebx
call fcn.00555f50
add esp, 4
lea eax, [esi + 0x468]
mov ecx, ebx
lea edx, [esi + 0x670]
push eax
push edi
call fcn.00530f60
add esp, 8
mov dword [esi + 0x9a8], 0xc
lea eax, [esi + 0x310]
push ebx
push dword [esi + 0xa0]
push eax
call fcn.005274d0
add esp, 0xc
push dword [esi + 0xa0]
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
movups xmm0, xmmword [esi + 0x230]
movss xmm1, dword [esi + 0x300]
lea eax, [esi + 0x120]
mov dword [esi + 0x9a8], 0xa
lea ecx, [esi + 0x670]
lea edx, [esi + 0x360]
movups xmmword [esi + 0x360], xmm0
movaps xmmword [esi + 0xa0], xmm0
movups xmmword [esi + 0x120], xmm0
movss xmm0, dword [esi + 0x190]
push eax
call fcn.005565d0
add esp, 4
mov eax, dword [esi + 0x770]
cmp byte [eax + 0x214], 0
je 0x48a79b
movaps xmm3, xmmword [esi + 0xa0]
movsd xmm0, qword [esi + 0x740]
movsd xmm4, qword [esi + 0x748]
mov eax, dword [esi + 0x734]
mov edx, dword [esi + 0x730]
mov edi, dword [esi + 0x738]
mov ecx, dword [esi + 0x750]
lea ebx, [esi + 0x120]
movaps xmm1, xmm3
movaps xmm2, xmm3
maxps xmm1, xmm0
cmpunordps xmm0, xmm0
andps xmm2, xmm0
andnps xmm0, xmm1
movaps xmm1, xmm3
unpckhpd xmm1, xmm3
orps xmm0, xmm2
movaps xmm2, xmm1
minps xmm1, xmm4
cmpunordps xmm4, xmm4
movlps qword [esi + 0x120], xmm0
andps xmm2, xmm4
andnps xmm4, xmm1
orps xmm4, xmm2
movlps qword [esi + 0x128], xmm4
push ebx
push edi
push eax
call fcn.0051b510
add esp, 0xc
test al, al
je 0x48a79b
lea edx, [esi + 0x750]
lea ecx, [esi + 0x120]
call fcn.0051b720
movsd xmm0, qword [esi + 0x520]
movsd xmm1, qword [esi + 0x528]
mov dword [esi + 0x9a8], 0xb
lea ecx, [esi + 0x120]
lea edx, [esi + 0x360]
movsd qword [esi + 0x360], xmm0
movss xmm0, dword [0x725a20]
movsd qword [esi + 0x368], xmm1
push 0xffe6d8ad
push 0x3f800000
call fcn.005616e0
add esp, 8
movaps xmm0, xmmword [esi + 0xa0]
lea ecx, [esi + 0x120]
lea edx, [esi + 0x360]
movups xmmword [esi + 0x360], xmm0
movss xmm0, dword [0x725a20]
push 0xffe6d8ad
push 0x3f800000
call fcn.005616e0
add esp, 8
lea ecx, [esi + 0x670]
lea edx, [esi + 0x120]
call fcn.00556fa0
mov eax, dword [esi + 0x140]
lock dec dword [eax]
jne 0x48a791
mov ecx, dword [esi + 0x140]
mov dword [esi + 0x9a8], 0xa
call fcn.00562540
mov dword [esi + 0x9a8], 0xa
mov eax, dword [esi + 0x298]
movsd xmm0, qword [esi + 0x748]
movaps xmm2, xmmword [esi + 0xa0]
mov ebx, dword [esi + 0x734]
mov edi, dword [esi + 0x738]
lea edx, [esi + 0x750]
lea ecx, [esi + 0x120]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x29c]
movsd qword [esi + 0x3f0], xmm0
movsd xmm0, qword [esi + 0x740]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x770]
movsd qword [esi + 0x3e8], xmm0
movss xmm0, dword [eax + 0x3c]
movss xmm1, dword [eax + 0x40]
mov eax, dword [esi + 0x730]
movups xmmword [esi + 0x360], xmm2
mov dword [esi + 0x190], eax
movzx eax, byte [esi + 0x778]
push eax
push 0
lea eax, [esi + 0x360]
push eax
push dword [esi + 0x70]
push dword [esi + 0xd0]
push edi
push ebx
push dword [esi + 0x190]
lea eax, [esi + 0x3e8]
push eax
call fcn.00519df0
add esp, 0x24
movsd xmm1, qword [esi + 0x318]
mov eax, dword [esi + 0x334]
movsd xmm2, qword [esi + 0x328]
movsd xmm0, qword [esi + 0x310]
lea ecx, [esi + 0x1a8]
mov byte [esi + 0xd], 0
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
mov dword [esi + 0x9a8], 8
movsd qword [esi + 0x388], xmm1
movsd xmm1, qword [esi + 0x320]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0x330]
movsd qword [esi + 0x398], xmm2
movsd xmm2, qword [esi + 0x158]
movsd qword [esi + 0x380], xmm0
movsd qword [esi + 0x390], xmm1
mov dword [esi + 0x300], eax
mov eax, dword [esi + 0x338]
movups xmm1, xmmword [esi + 0x138]
movsd qword [esi + 0x360], xmm2
movsd xmm2, qword [esi + 0x168]
mov dword [esi + 0x70], eax
movzx eax, byte [esi + 0x33c]
movaps xmmword [esi + 0x350], xmm1
movsd xmm1, qword [esi + 0x160]
movsd qword [esi + 0x370], xmm2
mov byte [esi + 0x190], al
movsd qword [esi + 0x368], xmm1
movsd xmm1, qword [esi + 0x170]
mov eax, dword [esi + 0x154]
movsd qword [esi + 0x378], xmm1
mov dword [esi + 0xa0], eax
call fcn.0052f7c0
mov ecx, dword [esi + 0xa0]
lea eax, [esi + 0x380]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x1a8], xmm0
movsd qword [esi + 0x1b0], xmm1
lock dec dword [ecx]
jne 0x48a967
mov byte [esi + 0xd], 0
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
call fcn.00562540
movaps xmm4, xmmword [esi + 0x350]
movss xmm0, dword [esi + 0x4a0]
movzx ecx, byte [esi + 0x190]
mov eax, dword [esi + 0x300]
mov ebx, dword [esi + 0xd0]
mov edi, dword [esi + 0x70]
movzx edx, word [esi + 0x120]
mov dword [esi + 0x350], 0
movaps xmm1, xmm4
movaps xmm2, xmm0
and cl, 1
unpckhpd xmm1, xmm4
cmpunordss xmm2, xmm0
subss xmm1, xmm4
movaps xmm3, xmm2
andps xmm3, xmm1
maxss xmm1, xmm0
movsd xmm0, qword [esi + 0x1a8]
andnps xmm2, xmm1
orps xmm2, xmm3
movss dword [esi + 0x4a0], xmm2
movsd xmm2, qword [esi + 0x1b0]
movsd qword [esi + 0x360], xmm0
movsd qword [esi + 0x368], xmm2
movups xmmword [esi + 0x370], xmm4
mov dword [esi + 0x380], eax
mov dword [esi + 0x384], ebx
mov dword [esi + 0x388], edi
mov byte [esi + 0x38c], cl
movzx ecx, byte [esi + 0x122]
mov word [esi + 0x38d], dx
mov byte [esi + 0x38f], cl
movsd xmm1, qword [esi + 0x960]
movsd xmm2, qword [esi + 0x958]
movsd xmm0, qword [esi + 0x968]
mov edi, dword [esi + 0x750]
movsd qword [esi + 0x440], xmm1
movsd xmm1, qword [esi + 0x950]
movsd qword [esi + 0x438], xmm2
movsd xmm2, qword [esi + 0x948]
movsd qword [esi + 0x448], xmm0
lea ecx, [edi + 8]
movsd qword [esi + 0x430], xmm1
movsd xmm1, qword [esi + 0x940]
movsd qword [esi + 0x428], xmm2
movsd xmm2, qword [esi + 0x930]
movsd qword [esi + 0x420], xmm1
movsd xmm1, qword [esi + 0x938]
movsd qword [esi + 0x410], xmm2
movsd qword [esi + 0x418], xmm1
mov eax, dword [edi + 8]
test al, 8
jne 0x48aabb
mov edx, eax
add edx, 0x10
jb 0x48aabb
lock cmpxchg dword [ecx], edx
je 0x48aae6
mov byte [esi + 0xc], 1
mov dword [esi + 0x9a8], 0xf
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xd0], edi
call fcn.00719890
mov edi, dword [esi + 0xd0]
mov ecx, dword [esi + 0xa0]
mov eax, 0xfffffff0
movzx edx, byte [edi + 0x218]
lock xadd dword [edi + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48ab1f
mov byte [esi + 0xc], 1
mov dword [esi + 0x9a8], 0xf
mov byte [esi + 0xa0], dl
call fcn.00719c10
movzx edx, byte [esi + 0xa0]
test dl, dl
je 0x48ae2a
mov dword [esi + 0x520], 0x3f800000
movsd xmm1, qword [esi + 0x440]
movsd xmm2, qword [esi + 0x438]
movsd xmm0, qword [esi + 0x448]
mov eax, dword [ebp + 0xc]
movsd qword [esi + 0x1d8], xmm1
movsd xmm1, qword [esi + 0x430]
movsd qword [esi + 0x1d0], xmm2
movsd xmm2, qword [esi + 0x428]
movsd qword [esi + 0x1e0], xmm0
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [esi + 0x420]
movsd qword [esi + 0x1c0], xmm2
movsd xmm2, qword [esi + 0x410]
movsd qword [esi + 0x1b8], xmm1
movsd xmm1, qword [esi + 0x418]
movsd qword [esi + 0x1a8], xmm2
movsd qword [esi + 0x1b0], xmm1
mov dword [esi + 0x1e8], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x1ec], eax
lea eax, [esi + 0x480]
mov dword [esi + 0x1f0], eax
lea eax, [esi + 0x360]
mov dword [esi + 0x1f4], eax
lea eax, [esi + 0x34c]
mov dword [esi + 0x1f8], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x48ac0a
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x48d243
mov dword [0x919820], eax
push 0x58
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x48d243
mov edi, eax
push 0x58
lea eax, [esi + 0x1a8]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0xc], 0
mov dword [esi + 0x9a8], 0xf
lea ecx, [esi + 0x120]
lea edx, [esi + 0x670]
push 0xf7e64c0f
push 0x2dba26d8
push 0x739608
push edi
call fcn.0048dca0
add esp, 0x10
movss xmm0, dword [esi + 0x144]
mov edx, dword [esi + 0x750]
lea ecx, [esi + 0x3c8]
mov dword [esi + 0x3d0], 1
mov dword [esi + 0x9a8], 0x10
subss xmm0, dword [esi + 0x13c]
movss dword [esi + 0x3d4], xmm0
call fcn.00526500
movsd xmm2, qword [esi + 0x138]
movsd xmm1, qword [esi + 0x130]
movsd xmm0, qword [esi + 0x140]
movsd qword [esi + 0x400], xmm2
movsd qword [esi + 0x3f8], xmm1
movsd xmm2, qword [esi + 0x120]
movsd xmm1, qword [esi + 0x128]
movsd qword [esi + 0x408], xmm0
movsd qword [esi + 0x3f0], xmm1
movsd qword [esi + 0x3e8], xmm2
movsd xmm2, qword [esi + 0x154]
movsd xmm1, qword [esi + 0x15c]
mov eax, dword [esi + 0x148]
movsd xmm0, qword [esi + 0x14c]
mov ecx, dword [esi + 0x174]
lea edi, [esi + 0x1a8]
lea ebx, [esi + 0x560]
movsd qword [esi + 0x318], xmm2
movsd qword [esi + 0x320], xmm1
movsd xmm2, qword [esi + 0x164]
movsd xmm1, qword [esi + 0x16c]
cmp eax, 2
movsd qword [esi + 0x310], xmm0
mov dword [esi + 0x338], ecx
movsd qword [esi + 0x328], xmm2
movsd qword [esi + 0x330], xmm1
je 0x48b076
movsd xmm1, qword [esi + 0x3f8]
movsd xmm2, qword [esi + 0x400]
mov ecx, dword [esi + 0x338]
movsd xmm0, qword [esi + 0x408]
movsd xmm3, qword [esi + 0x3e8]
mov dword [esi + 0x9a8], 0x14
movsd qword [esi + 0x1bf], xmm1
movsd xmm1, qword [esi + 0x3f0]
movsd qword [esi + 0x1c7], xmm2
movsd xmm2, qword [esi + 0x310]
mov dword [esi + 0x148], ecx
mov cl, 1
movsd qword [esi + 0x1cf], xmm0
movsd qword [esi + 0x1af], xmm3
mov dword [esi + 0xe8], ecx
movsd qword [esi + 0x1b7], xmm1
movsd xmm1, qword [esi + 0x318]
movsd qword [esi + 0x120], xmm2
movsd xmm2, qword [esi + 0x328]
movsd qword [esi + 0x128], xmm1
movsd xmm1, qword [esi + 0x320]
movsd qword [esi + 0x138], xmm2
movsd qword [esi + 0x130], xmm1
movsd xmm1, qword [esi + 0x330]
movsd qword [esi + 0x140], xmm1
jmp 0x48b080
movzx edi, byte [esi + 0x3d8]
mov edx, dword [esi + 0x3c8]
mov eax, dword [esi + 0x3cc]
lea ecx, [esi + 0x750]
mov byte [esi + 0xc], 1
mov dword [esi + 0x9a8], 0xf
push edi
push eax
call fcn.0051cb20
add esp, 8
xorps xmm1, xmm1
movss dword [esi + 0x520], xmm0
ucomiss xmm1, xmm0
jae 0x48b015
movss xmm1, dword [0x7255e0]
ucomiss xmm1, xmm0
jbe 0x48ab31
movsd xmm1, qword [esi + 0x418]
lea eax, [esi + 0x3c8]
movsd xmm2, qword [esi + 0x420]
movsd xmm0, qword [esi + 0x410]
mov dword [esi + 0x200], eax
lea eax, [esi + 0x520]
mov dword [esi + 0x204], eax
mov eax, dword [ebp + 0xc]
movsd qword [esi + 0x1b0], xmm1
movsd xmm1, qword [esi + 0x428]
movsd qword [esi + 0x1b8], xmm2
movsd xmm2, qword [esi + 0x430]
movsd qword [esi + 0x1a8], xmm0
movsd qword [esi + 0x1c0], xmm1
movsd xmm1, qword [esi + 0x438]
movsd qword [esi + 0x1c8], xmm2
movsd xmm2, qword [esi + 0x440]
movsd qword [esi + 0x1d0], xmm1
movsd xmm1, qword [esi + 0x448]
movsd qword [esi + 0x1d8], xmm2
movsd qword [esi + 0x1e0], xmm1
mov dword [esi + 0x1e8], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x1ec], eax
lea eax, [esi + 0x480]
mov dword [esi + 0x1f0], eax
lea eax, [esi + 0x360]
mov dword [esi + 0x1f4], eax
lea eax, [esi + 0x34c]
mov dword [esi + 0x1f8], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x48af71
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x48d279
mov dword [0x919820], eax
push 0x60
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x48d279
mov edi, eax
push 0x60
lea eax, [esi + 0x1a8]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0xc], 0
lea ecx, [esi + 0x120]
lea edx, [esi + 0x670]
push 0xf7e64c0f
push 0x2dba26d8
push 0x739618
push edi
call fcn.0048dca0
add esp, 0x10
movsd xmm1, qword [esi + 0x128]
movsd xmm0, qword [esi + 0x120]
movsd xmm2, qword [esi + 0x138]
movsd qword [esi + 0x3f0], xmm1
movsd xmm1, qword [esi + 0x130]
movsd qword [esi + 0x3e8], xmm0
movsd qword [esi + 0x400], xmm2
movsd qword [esi + 0x3f8], xmm1
movsd xmm1, qword [esi + 0x140]
movsd qword [esi + 0x408], xmm1
jmp 0x48acf0
mov edx, dword [esi + 0x750]
lea ecx, [esi + 0x3c8]
mov byte [esi + 0xc], 1
call fcn.00526500
mov dword [esi + 0x9a8], 0x13
push dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
call dword [eax]
add esp, 4
mov eax, dword [ebp + 0x10]
lea edi, [esi + 0x1a8]
lea ebx, [esi + 0x560]
cmp dword [eax + 4], 0
je 0x48b071
mov ecx, dword [ebp + 0xc]
cmp dword [eax + 8], 9
mov eax, ecx
jb 0x48b062
mov eax, dword [ecx - 4]
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 2
mov dword [esi + 0xe8], 0
movsd xmm1, qword [esi + 0x1bf]
movsd xmm0, qword [esi + 0x1cf]
movsd xmm2, qword [esi + 0x1c7]
movsd xmm3, qword [esi + 0x1af]
lea ecx, [esi + 0x670]
movsd qword [esi + 0x420], xmm1
movsd xmm1, qword [esi + 0x1b7]
movsd qword [esi + 0x428], xmm2
movsd qword [esi + 0x430], xmm0
movsd qword [esi + 0x410], xmm3
movsd xmm2, qword [esi + 0x120]
movsd qword [esi + 0x418], xmm1
movsd xmm1, qword [esi + 0x128]
mov dword [esi + 0x438], eax
movsd qword [esi + 0x43c], xmm2
movsd xmm2, qword [esi + 0x138]
mov eax, dword [esi + 0x148]
movsd qword [esi + 0x444], xmm1
movsd xmm1, qword [esi + 0x130]
movsd qword [esi + 0x454], xmm2
mov dword [esi + 0x464], eax
movsd qword [esi + 0x44c], xmm1
movsd xmm1, qword [esi + 0x140]
movsd qword [esi + 0x45c], xmm1
push 0x158
push ecx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0xa], 1
mov dword [esi + 0x9a8], 0x14
lea ecx, [esi + 0x120]
mov edx, edi
push ebx
call fcn.0054a970
add esp, 4
movups xmm0, xmmword [esi + 0x138]
mov eax, dword [esi + 0x154]
movaps xmmword [esi + 0x300], xmm0
lock dec dword [eax]
jne 0x48b18e
mov ecx, dword [esi + 0x154]
mov byte [esi + 0xa], 1
call fcn.00444620
movaps xmm0, xmmword [esi + 0x300]
cmp byte [esi + 0x10], 0
movhlps xmm0, xmm0
movaps xmmword [esi + 0x3a0], xmm0
je 0x48b1b5
cmp byte [esi + 0x60], 0
mov ax, 0x202
mov dword [esi + 0xa0], eax
jne 0x48b20d
cmp byte [esi + 0xf0], 0
je 0x48b1ce
cmp byte [esi + 0x60], 0
mov ax, 0x200
mov dword [esi + 0xa0], eax
jne 0x48b20d
cmp byte [esi + 0xf0], 0
je 0x48b1ec
cmp byte [esi + 0x3b0], 0
je 0x48b1ec
mov dword [esi + 0xa0], 0
jmp 0x48b20d
cmp byte [esi + 0x10], 0
je 0x48b490
cmp byte [esi + 0x3b0], 0
mov ax, 2
mov dword [esi + 0xa0], eax
je 0x48b490
mov eax, dword [esi + 0x660]
movss xmm0, dword [eax + 0x1ec]
movzx eax, word [esi + 0xa0]
ucomiss xmm0, dword [0x7258a0]
mov dword [esi + 0x60], eax
jb 0x48b259
movaps xmm1, xmmword [esi + 0x3a0]
subss xmm1, dword [esi + 0x300]
ucomiss xmm1, dword [0x7258a0]
jb 0x48b259
movaps xmm3, xmmword [esi + 0x300]
movaps xmm1, xmmword [esi + 0x3a0]
movaps xmm2, xmm3
jmp 0x48b287
test byte [esi + 0x60], 2
jne 0x48b272
movaps xmm3, xmmword [esi + 0x300]
movaps xmm1, xmm3
movaps xmm2, xmm3
addss xmm1, xmm0
jmp 0x48b287
movaps xmm1, xmmword [esi + 0x3a0]
movaps xmm3, xmmword [esi + 0x300]
movaps xmm2, xmm1
subss xmm2, xmm0
ucomiss xmm0, dword [0x7258a0]
movaps xmm5, xmm3
movaps xmm4, xmm3
shufps xmm5, xmm3, 0x55
shufps xmm4, xmm3, 0xff
jb 0x48b2ae
movaps xmm3, xmm4
subss xmm3, xmm5
ucomiss xmm3, dword [0x7258a0]
jae 0x48b2c5
mov eax, dword [esi + 0x60]
test ah, ah
je 0x48b2be
movaps xmm5, xmm4
subss xmm5, xmm0
jmp 0x48b2c5
addss xmm0, xmm5
movaps xmm4, xmm0
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x60]
unpcklps xmm4, xmm1
xorps xmm1, xmm1
unpcklps xmm5, xmm2
subps xmm4, xmm5
mov eax, edx
movzx ecx, ch
shl eax, 8
or ecx, eax
test dl, dl
movd xmm0, ecx
pcmpeqb xmm1, xmm0
punpcklbw xmm0, xmm1
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
movdqa xmm1, xmm0
pand xmm0, xmmword [0x725ca0]
pandn xmm1, xmmword [0x725c90]
por xmm0, xmm1
subps xmm5, xmm0
addps xmm4, xmm5
movaps xmmword [esi + 0xf0], xmm4
je 0x48b32b
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
jmp 0x48b332
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
mov eax, dword [esi + 0x60]
movaps xmm1, xmm5
movaps xmmword [esi + 0x10], xmm5
test ah, ah
je 0x48b347
movaps xmm1, xmmword [esi + 0xf0]
lea ecx, [esi + 0x640]
mov byte [esi + 0xa], 1
call fcn.0051c290
movss dword [esi + 0xd0], xmm0
movss dword [esi + 0x70], xmm1
movaps xmm1, xmmword [esi + 0xf0]
movaps xmm0, xmmword [0x725c90]
subps xmm1, xmmword [esi + 0x10]
cmpleps xmm0, xmm1
movaps xmmword [esi + 0xf0], xmm1
unpcklps xmm0, xmm0
movmskpd eax, xmm0
cmp al, 3
jne 0x48b490
movdqa xmm1, xmmword [esi + 0x4c0]
movaps xmm0, xmmword [esi + 0xf0]
pshufd xmm3, xmm1, 0xff
pshufd xmm2, xmm1, 0xee
movss xmm1, dword [0x725a04]
shufps xmm0, xmm0, 0x55
movaps xmmword [esi + 0x3b0], xmm0
movd dword [esi + 0x190], xmm3
movd dword [esi + 0x4c0], xmm2
nop dword [eax + eax]
movaps xmm0, xmm1
cmp byte [esi + 0xa0], 0
movaps xmmword [esi + 0x10], xmm1
xorps xmm0, xmmword [0x725630]
movaps xmm1, xmm0
je 0x48b3ee
movaps xmm1, xmmword [esi + 0x10]
mov eax, dword [esi + 0x60]
test ah, ah
je 0x48b3f9
movaps xmm0, xmmword [esi + 0x10]
movss xmm3, dword [esi + 0xd0]
movss xmm4, dword [esi + 0x70]
mov eax, dword [esi + 0x4c0]
lea ecx, [esi + 0x620]
lea edx, [esi + 0x1a8]
mov byte [esi + 0xa], 1
movaps xmm2, xmm3
subss xmm2, xmm1
movaps xmm1, xmm4
subss xmm1, xmm0
movss dword [esi + 0x1a8], xmm2
movss dword [esi + 0x1ac], xmm4
movss dword [esi + 0x1b0], xmm3
movss dword [esi + 0x1b4], xmm1
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x190]
mov dword [esi + 0x1bc], eax
mov byte [esi + 0x1d4], 5
call fcn.005606f0
movaps xmm1, xmmword [esi + 0x10]
movaps xmm0, xmmword [esi + 0x3b0]
addss xmm1, dword [0x725a20]
ucomiss xmm0, xmm1
jb 0x48b490
movaps xmm0, xmmword [esi + 0xf0]
ucomiss xmm0, xmm1
jae 0x48b3d0
movzx eax, byte [esi + 0x38c]
mov bl, 1
cmp al, 2
mov byte [esi + 0xf0], al
je 0x48be96
movsd xmm1, qword [esi + 0x380]
movsd xmm2, qword [esi + 0x378]
mov eax, dword [esi + 0x438]
movsd xmm0, qword [esi + 0x388]
movsd qword [esi + 0x550], xmm1
movsd xmm1, qword [esi + 0x370]
movsd qword [esi + 0x548], xmm2
movsd xmm2, qword [esi + 0x360]
cmp eax, 2
movsd qword [esi + 0x558], xmm0
mov dword [esi + 0x60], eax
movsd qword [esi + 0x540], xmm1
movsd xmm1, qword [esi + 0x368]
movsd qword [esi + 0x530], xmm2
movsd qword [esi + 0x538], xmm1
je 0x48b545
movss xmm0, dword [esi + 0x548]
movss xmm1, dword [esi + 0x430]
movaps xmm2, xmm0
cmpunordss xmm2, xmm0
movaps xmm3, xmm2
andps xmm3, xmm1
maxss xmm1, xmm0
andnps xmm2, xmm1
orps xmm2, xmm3
movss dword [esi + 0x548], xmm2
cmp dword [esi + 0x17c], 0
je 0x48ba73
mov ecx, 0x38d01376
mov ebx, 0x452821e6
mov edx, 0x2df45158
movss xmm0, dword [esi + 0x54c]
movss xmm1, dword [esi + 0x544]
movss xmm4, dword [0x725640]
movss xmm5, dword [esi + 0x548]
xor ecx, dword [esi + 0x658]
xor ebx, dword [esi + 0x65c]
movaps xmm3, xmm0
addss xmm0, xmm1
mov eax, ecx
subss xmm3, xmm1
mulss xmm0, xmm4
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, ebx
mov dword [esi + 0xa0], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ecx, eax
xor edi, dword [esi + 0xa0]
bswap ecx
xor ecx, dword [esi + 0x10]
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
imul edx, edi, 0xcf6654be
bswap edi
add edx, eax
mov eax, edi
imul edi, edi, 0x41ab9930
mov dword [esi + 0xa0], edx
mov edx, 0xcb16f391
mul edx
add edi, edx
mov edx, ecx
bswap eax
bswap edx
xor eax, dword [esi + 0xa0]
imul ebx, edx, 0xcb16f391
mov edx, 0x2df45158
add ebx, edi
bswap ebx
xor ebx, dword [esi + 0x10]
test cl, 0x20
mov edi, eax
cmovne edi, ebx
cmovne ebx, eax
mov eax, ebx
shld eax, edi, cl
shld edi, ebx, cl
xor eax, 0x38d01376
xor edi, 0x452821e6
mov dword [esi + 0x10], eax
mul edx
imul ecx, edi, 0x2df45158
bswap edi
mov dword [esi + 0xa0], eax
imul eax, dword [esi + 0x10], 0x2d7f954c
add eax, edx
mov edx, 0xb36a80d2
add ecx, eax
mov eax, edi
mul edx
mov ebx, eax
imul eax, edi, 0xa7ae0bd2
add eax, edx
mov edx, dword [esi + 0x10]
bswap ebx
xor ebx, ecx
mov ecx, 0x4c957f2d
bswap edx
imul edi, edx, 0xb36a80d2
add edi, eax
bswap edi
xor edi, dword [esi + 0xa0]
mov eax, edi
mul ecx
mov ecx, eax
imul eax, edi, 0x5851f42d
add eax, edx
imul edx, ebx, 0x4c957f2d
add edx, eax
add ecx, 0xe4017cc5
adc edx, 0x4c69862b
xor ecx, 0xdedb299b
xor edx, 0x553037c4
mov eax, edx
shld eax, ecx, 0x17
shld ecx, edx, 0x17
mov edx, 0x2df45158
add ecx, 0x34e90c6e
adc eax, 0xbe5466cf
xor ecx, 0x2c7e7c55
xor eax, 0xa2b4057a
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, ebx, 0x2df45158
bswap ebx
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, ebx
mov dword [esi + 0xa0], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
imul eax, ebx, 0xa7ae0bd2
add eax, edx
bswap edi
mov edx, 0xcf6654be
add ecx, eax
xor edi, dword [esi + 0xa0]
bswap ecx
xor ecx, dword [esi + 0x10]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mul edx
mov dword [esi + 0x10], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
imul edi, edi, 0x41ab9930
mul edx
bswap eax
add edi, edx
mov edx, ecx
xor eax, ebx
mov ebx, dword [esi + 0x660]
bswap edx
imul edx, edx, 0xcb16f391
add edx, edi
mov edi, eax
bswap edx
movss xmm2, dword [ebx + 0x84]
xor edx, dword [esi + 0x10]
test cl, 0x20
subss xmm3, xmm2
cmovne edi, edx
cmovne edx, eax
mulss xmm3, xmm4
mulss xmm4, xmm2
mov eax, edx
subss xmm5, xmm3
shld eax, edi, cl
shld edi, edx, cl
mov ecx, dword [esi + 0x620]
lea edx, [esi + 0x640]
unpcklps xmm5, xmm0
movaps xmm0, xmm2
shufps xmm2, xmm2, 0
unpcklps xmm0, xmm4
subps xmm5, xmm0
movsd xmm0, qword [esi + 0x638]
mov dword [esi + 0xa0], ecx
mov ecx, dword [esi + 0x624]
addps xmm2, xmm5
movlhps xmm5, xmm2
movaps xmmword [esi + 0x10], xmm5
movsd qword [esi + 0x318], xmm0
movsd xmm0, qword [esi + 0x630]
mov dword [esi + 0xd0], ecx
mov ecx, dword [esi + 0x628]
movsd qword [esi + 0x310], xmm0
movss xmm0, dword [ebx + 0x3c]
movss xmm1, dword [ebx + 0x40]
movzx ebx, byte [esi + 0x668]
mov dword [esi + 0x70], ecx
movups xmmword [esi + 0x120], xmm5
mov byte [esi + 0xb], 1
mov dword [esi + 0x9a8], 0x15
lea ecx, [esi + 0x1a8]
push ebx
push 0x10001
lea ebx, [esi + 0x120]
push ebx
push edi
push eax
push dword [esi + 0x70]
push dword [esi + 0xd0]
push dword [esi + 0xa0]
lea eax, [esi + 0x310]
push eax
call fcn.00519df0
add esp, 0x24
movsd xmm1, qword [esi + 0x1c0]
movsd xmm3, qword [esi + 0x5e8]
movsd xmm0, qword [esi + 0x1c8]
movsd xmm2, qword [esi + 0x5f0]
movzx eax, byte [esi + 0x1e0]
movaps xmm4, xmm1
movaps xmm5, xmm1
or al, byte [esi + 0x1e1]
minps xmm4, xmm3
cmpunordps xmm3, xmm3
andps xmm5, xmm3
andnps xmm3, xmm4
movaps xmm4, xmm0
orps xmm3, xmm5
movlps qword [esi + 0x5e8], xmm3
movaps xmm3, xmm0
maxps xmm3, xmm2
cmpunordps xmm2, xmm2
andps xmm4, xmm2
andnps xmm2, xmm3
movaps xmm3, xmm1
orps xmm2, xmm4
movlps qword [esi + 0x5f0], xmm2
movsd xmm2, qword [esi + 0x5f8]
minps xmm3, xmm2
cmpunordps xmm2, xmm2
andps xmm1, xmm2
andnps xmm2, xmm3
orps xmm2, xmm1
movlps qword [esi + 0x5f8], xmm2
movaps xmm2, xmm0
movsd xmm1, qword [esi + 0x600]
maxps xmm2, xmm1
cmpunordps xmm1, xmm1
andps xmm0, xmm1
andnps xmm1, xmm2
orps xmm1, xmm0
movlps qword [esi + 0x600], xmm1
mov edx, dword [esi + 0x660]
je 0x48b97f
cmp byte [esi + 0x1f7], 0
movaps xmm2, xmmword [esi + 0x10]
jne 0x48b96d
lea ecx, [esi + 0x1a8]
mov dword [esi + 0xa0], edx
mov dword [esi + 0x9a8], 0x17
call fcn.00530ba0
movaps xmm2, xmmword [esi + 0x10]
mov edx, dword [esi + 0xa0]
test al, al
je 0x48c3ff
add edx, 0x168
mov dword [esi + 0x9a8], 0x17
jmp 0x48b989
movaps xmm2, xmmword [esi + 0x10]
add edx, 0xe4
movss xmm0, dword [edx + 0x28]
addps xmm2, xmmword [0x725cb0]
mov eax, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
lea ecx, [esi + 0x620]
mov dword [esi + 0x9a8], 0x17
shufps xmm0, xmm0, 0
movaps xmm1, xmm2
mov dword [esi + 0xd0], edx
mov dword [esi + 0xa0], eax
addps xmm1, xmm0
subps xmm2, xmm0
shufps xmm2, xmm1, 0xe4
movups xmmword [esi + 0x120], xmm2
mov dword [esi + 0x134], edx
lea edx, [esi + 0x120]
mov dword [esi + 0x130], eax
movaps xmmword [esi + 0x10], xmm2
mov byte [esi + 0x14c], 5
call fcn.005606f0
movaps xmm0, xmmword [esi + 0x10]
mov eax, dword [esi + 0xd0]
lea edx, [esi + 0x120]
lea ecx, [esi + 0x620]
shufps xmm0, xmm0, 0xc6
movups xmmword [esi + 0x120], xmm0
mov dword [esi + 0x134], eax
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x130], eax
mov byte [esi + 0x14c], 5
call fcn.005606f0
mov ecx, dword [esi + 0x1dc]
movzx eax, byte [esi + 0x1e6]
lock dec dword [ecx]
jne 0x48ba5c
mov byte [esi + 0xb], 1
mov dword [esi + 0x9a8], 0x15
mov byte [esi + 0x10], al
call fcn.00562540
movzx eax, byte [esi + 0x10]
test al, al
mov eax, dword [esi + 0x17c]
je 0x48ba73
mov byte [eax], 0
mov dword [esi + 0x9a8], 0x15
mov ecx, dword [esi + 0x558]
movss xmm0, dword [esi + 0x540]
movss xmm5, dword [esi + 0x548]
movss xmm6, dword [0x725908]
movss xmm3, dword [0x725640]
movss xmm1, dword [ecx + 0x1c]
movss xmm4, dword [ecx + 0x24]
movss xmm7, dword [ecx + 0x20]
movss xmm2, dword [ecx + 0x18]
movss dword [esi + 0x10], xmm5
movaps xmmword [esi + 0xd0], xmm0
movss dword [esi + 0xa0], xmm1
subss xmm4, xmm1
movss xmm1, dword [0x7258a0]
subss xmm7, xmm2
ucomiss xmm7, xmm1
jae 0x48bb2d
addss xmm0, xmm5
mulss xmm7, xmm3
mulss xmm0, xmm3
subss xmm0, xmm7
movss xmm7, dword [esi + 0x534]
movss xmm5, dword [esi + 0x53c]
ucomiss xmm4, xmm1
jb 0x48bb79
movss dword [esi + 0x70], xmm2
movaps xmm2, xmm6
movaps xmm6, xmm1
subss xmm5, xmm7
cmpless xmm1, xmm4
cmpless xmm6, xmm5
andps xmm7, xmm6
andnps xmm6, xmm2
orps xmm6, xmm7
andps xmm6, xmm1
andnps xmm1, xmm2
movss xmm2, dword [esi + 0x70]
orps xmm1, xmm6
jmp 0x48bb94
movaps xmm6, xmm0
movaps xmm0, xmm5
movaps xmm5, xmm1
subss xmm0, xmm6
cmpless xmm5, xmm0
movaps xmm0, xmm5
andps xmm0, xmm6
movss xmm6, dword [0x725908]
andnps xmm5, xmm6
orps xmm5, xmm0
movaps xmm0, xmm1
cmpless xmm0, xmm7
andps xmm5, xmm0
andnps xmm0, xmm6
orps xmm0, xmm5
movss xmm7, dword [esi + 0x534]
movss xmm5, dword [esi + 0x53c]
ucomiss xmm4, xmm1
jae 0x48bafb
movss xmm1, dword [0x725640]
addss xmm7, xmm5
mulss xmm7, xmm1
mulss xmm4, xmm1
subss xmm7, xmm4
movaps xmm1, xmm7
mov eax, dword [esi + 0x660]
subss xmm1, dword [esi + 0xa0]
lea ebx, [esi + 0x620]
subss xmm0, xmm2
test byte [eax + 0x1f8], 1
lea edx, [eax + 0x1f9]
lea edi, [eax + 0x100]
addss xmm1, dword [0x725cc0]
cmove edx, edi
mov eax, dword [edx]
movzx edx, byte [esi + 0x55c]
mov byte [esi + 0xb], 0
mov dword [esi + 0x9a8], 0x15
push eax
push ebx
call fcn.00558e60
add esp, 8
cmp dword [esi + 0x60], 2
movss xmm4, dword [esi + 0x10]
je 0x48bc7c
mov eax, dword [esi + 0x660]
movaps xmm1, xmmword [esi + 0x300]
lea edx, [esi + 0x1a8]
movss xmm0, dword [eax + 0x40]
mov ecx, dword [eax + 0xf4]
mov eax, dword [eax + 0xf8]
movss dword [esi + 0x1a8], xmm1
movaps xmm1, xmmword [esi + 0x3a0]
mov byte [esi + 0xb], 0
mulss xmm0, dword [0x725640]
addss xmm0, dword [esi + 0x42c]
movss dword [esi + 0x1ac], xmm0
movss dword [esi + 0x1b0], xmm1
movss dword [esi + 0x1b4], xmm0
mov dword [esi + 0x1b8], ecx
lea ecx, [esi + 0x620]
mov dword [esi + 0x1bc], eax
mov byte [esi + 0x1d4], 5
call fcn.005606f0
movss xmm4, dword [esi + 0x10]
mov eax, dword [esi + 0x550]
movsd xmm0, qword [esi + 0x638]
movss xmm3, dword [esi + 0x544]
movaps xmm5, xmmword [esi + 0xd0]
movss xmm2, dword [esi + 0x54c]
addss xmm4, dword [0x725cc4]
movzx ebx, byte [esi + 0x668]
mov edi, dword [esi + 0x628]
lea edx, [esi + 0x640]
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x554]
movsd qword [esi + 0x318], xmm0
movsd xmm0, qword [esi + 0x630]
unpcklps xmm5, xmm3
movss xmm3, dword [0x725cc8]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x660]
movsd qword [esi + 0x310], xmm0
addps xmm3, xmm5
movss xmm0, dword [eax + 0x3c]
movss xmm1, dword [eax + 0x40]
mov eax, dword [esi + 0x620]
movlps qword [esi + 0x120], xmm3
movss dword [esi + 0x128], xmm4
movss dword [esi + 0x12c], xmm2
mov byte [esi + 0xb], 0
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x624]
push ebx
push 0x10001
lea ebx, [esi + 0x120]
push ebx
push dword [esi + 0x60]
push dword [esi + 0x10]
push edi
push eax
push dword [esi + 0xa0]
lea eax, [esi + 0x310]
push eax
call fcn.00519df0
add esp, 0x24
mov eax, dword [esi + 0x1dc]
movzx ecx, byte [esi + 0x1eb]
lock dec dword [eax]
jne 0x48bd83
mov byte [esi + 0x10], cl
mov ecx, dword [esi + 0x1dc]
mov byte [esi + 0xb], 0
call fcn.00562540
movzx ecx, byte [esi + 0x10]
xor ebx, ebx
test cl, cl
je 0x48be96
cmp byte [esi + 0xcb], 0
je 0x48be96
mov edi, dword [esi + 0x640]
xor byte [esi + 0x3d8], 1
mov edx, 8
xor eax, eax
lock cmpxchg dword [edi + 8], edx
lea ecx, [edi + 8]
je 0x48bdcd
mov byte [esi + 0xb], 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x60], edi
call fcn.007188f0
mov edi, dword [esi + 0x60]
mov ecx, dword [esi + 0x10]
mov dword [edi + 0x4a0], 2
mov eax, dword [edi + 0x480]
or eax, dword [edi + 0x484]
jne 0x48bdf2
cmp dword [edi + 0x488], 0
je 0x48be74
mov dword [edi + 0x484], 0
mov dword [edi + 0x480], 0
mov dword [edi + 0x488], 0
mov eax, dword [edi + 0x498]
test eax, eax
je 0x48be74
mov dword [esi + 0x10], ecx
mov ecx, dword [edi + 0x490]
mov edx, dword [edi + 0x494]
mov dword [esi + 0x1ac], edx
mov dword [esi + 0x1a8], ecx
mov dword [esi + 0x1b4], 0
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x1b8], 0
lea edx, [esi + 0x1a8]
mov ecx, dword [edi + 0x49c]
mov dword [esi + 0x9a8], 0x16
push edx
push eax
call dword [ecx + 0x14]
add esp, 8
mov ecx, dword [esi + 0x10]
xor ebx, ebx
mov eax, 8
lock cmpxchg dword [ecx], ebx
je 0x48be96
mov byte [esi + 0xb], 0
mov dword [esi + 0x9a8], 0x15
call fcn.00719150
xor ebx, ebx
mov eax, dword [ebp + 8]
lea ecx, [esi + 0x3c8]
mov dword [esi + 0x10], ebx
mov byte [esi + 0xa], bl
mov dword [esi + 0x9a8], 0x14
mov edx, dword [eax]
mov dword [esi + 0x60], edx
call fcn.00526500
cmp byte [esi + 0x80], 2
jne 0x48c059
cmp byte [esi + 0x993], 2
je 0x48c1a0
mov eax, dword [esi + 0x60]
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
test al, 8
jne 0x48beed
mov edx, eax
add edx, 0x10
jb 0x48beed
lock cmpxchg dword [ecx], edx
je 0x48befe
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], ecx
mov byte [esi + 0xa], al
call fcn.00719890
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x60]
mov eax, 0xfffffff0
mov edi, dword [edx + 0x2e8]
lock xadd dword [edx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48bf2a
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], edi
mov byte [esi + 0xa], al
call fcn.00719c10
mov edi, dword [esi + 0x28]
test edi, edi
je 0x48c1a0
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x48bf4e
mov edx, eax
add edx, 0x10
jb 0x48bf4e
lock cmpxchg dword [ecx], edx
je 0x48bf65
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x5c], edi
mov byte [esi + 0xa], al
call fcn.00719890
mov edi, dword [esi + 0x5c]
mov ecx, dword [esi + 0x28]
mov edx, dword [edi + 0x1fc]
lock inc dword [edx]
jle 0x48d23f
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
mov dword [esi + 0x28], edx
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48bf96
mov eax, dword [esi + 0x10]
mov byte [esi + 0xa], al
call fcn.00719c10
mov edx, dword [esi + 0x28]
movsd xmm1, qword [esi + 0x990]
mov dword [esi + 0x310], edx
movsd xmm2, qword [esi + 0x988]
movaps xmm0, xmmword [esi + 0x300]
lea ecx, [esi + 0x560]
mov eax, dword [edx + 0x14c]
mov edi, dword [edx + 0x150]
mov dword [esi + 0x9a8], 0x18
lea edx, [esi + 0x120]
movsd qword [esi + 0x1c8], xmm1
movsd xmm1, qword [esi + 0x980]
movsd qword [esi + 0x1c0], xmm2
movsd xmm2, qword [esi + 0x970]
movups xmmword [esi + 0x120], xmm0
movsd qword [esi + 0x1b8], xmm1
movsd xmm1, qword [esi + 0x978]
movsd qword [esi + 0x1a8], xmm2
movsd qword [esi + 0x1b0], xmm1
push edi
push eax
lea eax, [esi + 0x1a8]
push eax
call fcn.00526f10
add esp, 0xc
mov eax, dword [esi + 0x28]
lock dec dword [eax]
jne 0x48c1a0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x310]
mov dword [esi + 0x9a8], 0x14
mov byte [esi + 0xa], al
call fcn.004441b0
jmp 0x48c1a0
mov eax, dword [esi + 0x60]
lea ecx, [eax + 8]
mov eax, dword [eax + 8]
test al, 8
jne 0x48c073
mov edx, eax
add edx, 0x10
jb 0x48c073
lock cmpxchg dword [ecx], edx
je 0x48c08a
mov eax, dword [esi + 0x10]
mov dword [esi + 0xa0], ecx
mov byte [esi + 0xa], al
call fcn.00719890
mov ecx, dword [esi + 0xa0]
mov eax, dword [esi + 0x60]
mov edx, dword [eax + 0x1fc]
lock inc dword [edx]
jle 0x48d23f
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
mov dword [esi + 0x60], edx
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48c0be
mov eax, dword [esi + 0x10]
mov byte [esi + 0xa], al
call fcn.00719c10
mov edx, dword [esi + 0x60]
movaps xmm0, xmmword [esi + 0x180]
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x310], edx
mov eax, dword [edx + 0x178]
mov edi, dword [edx + 0x17c]
mov dword [esi + 0x9a8], 0x19
lea edx, [esi + 0x120]
movups xmmword [esi + 0x1a8], xmm0
mov dword [esi + 0x1bc], ecx
mov ecx, dword [esi + 0x28]
movaps xmm0, xmmword [esi + 0x300]
mov dword [esi + 0x1b8], ecx
mov ecx, dword [esi + 0x54]
movups xmmword [esi + 0x120], xmm0
mov byte [esi + 0x1c0], cl
mov ecx, dword [esi + 0x478]
mov dword [esi + 0x1c1], ecx
mov ecx, dword [esi + 0x47b]
mov dword [esi + 0x1c4], ecx
movzx ecx, byte [esi + 0x4c]
mov byte [esi + 0x1c8], cl
movzx ecx, byte [esi + 0x9c]
mov byte [esi + 0x1c9], cl
movzx ecx, byte [esi + 0x48]
mov byte [esi + 0x1ca], cl
movzx ecx, byte [esi + 0x80]
mov byte [esi + 0x1cb], cl
mov ecx, dword [esi + 0x58]
mov dword [esi + 0x1cc], ecx
lea ecx, [esi + 0x560]
push edi
push eax
lea eax, [esi + 0x1a8]
push eax
call fcn.00526f10
add esp, 0xc
mov eax, dword [esi + 0x60]
lock dec dword [eax]
jne 0x48c1a0
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x310]
mov dword [esi + 0x9a8], 0x14
mov byte [esi + 0xa], al
call fcn.004441b0
cmp dword [esi + 0x438], 2
je 0x48c1d3
mov eax, dword [esi + 0x444]
lock dec dword [eax]
jne 0x48c1d3
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x444]
mov byte [esi + 0x37], 0
mov dword [esi + 0x9a8], 0xe
mov byte [esi + 0x36], al
call fcn.00444620
cmp byte [esi + 0xf0], 2
jne 0x48c216
cmp byte [esi + 0x38c], 2
je 0x48c216
mov eax, dword [esi + 0x388]
lock dec dword [eax]
jne 0x48c216
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x388]
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 0
mov dword [esi + 0x9a8], 8
mov byte [esi + 0xd], al
call fcn.00445fe0
movsx eax, byte [esi + 0x8d0]
movsx ecx, byte [esi + 0x8d1]
movsd xmm3, qword [esi + 0x8c8]
movsd xmm0, qword [esi + 0x8c0]
mov edx, dword [ebp + 8]
mov byte [esi + 0x33], 0
mov byte [esi + 0x34], 1
mov byte [esi + 0x35], 0
mov dword [esi + 0x9a8], 7
movss xmm1, dword [ecx*4 + 0x8f8738]
movss xmm2, dword [eax*4 + 0x8f86fc]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x8e4]
mov dword [esi + 0x5c], ecx
movaps xmmword [esi + 0x10], xmm3
lea ecx, [esi + 0x120]
unpcklps xmm2, xmm1
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x350]
movsd xmm1, qword [esi + 0x8d4]
mulps xmm2, xmm3
subps xmm0, xmm2
movsd xmm2, qword [esi + 0x8dc]
movlps qword [esi + 0x670], xmm0
addps xmm0, xmm3
mov byte [esi + 0x32], al
lea eax, [esi + 0x1a8]
movlps qword [esi + 0x678], xmm0
movsd qword [esi + 0x1a8], xmm1
movsd qword [esi + 0x1b0], xmm2
push eax
lea eax, [esi + 0x670]
push eax
call fcn.0051c400
add esp, 8
mov eax, dword [esi + 0x5c]
movsd xmm0, qword [esi + 0x120]
movss xmm1, dword [eax*4 + 0x8f8744]
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax*4 + 0x8f8708]
unpcklps xmm2, xmm1
mulps xmm2, xmmword [esi + 0x10]
addps xmm2, xmm0
movlps qword [esi + 0x8c0], xmm2
push 0x98
lea eax, [esi + 0x858]
push eax
lea ebx, [esi + 0x670]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x110
lea eax, [esi + 0x560]
push eax
lea edi, [esi + 0x1a8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x350]
mov byte [esi + 0x33], 1
mov byte [esi + 0x34], 0
mov byte [esi + 0x35], 0
mov edx, ebx
mov eax, dword [eax]
mov byte [esi + 0x32], cl
lea ecx, [esi + 0x120]
push edi
push eax
call fcn.005393d0
add esp, 8
push 0x58
lea eax, [esi + 0x120]
push eax
mov edi, dword [esi + 0x3e4]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xe8]
cmp byte [esi + 0x52], 0
mov byte [edi + 0x58], al
jne 0x48c3a7
lea ecx, [esi + 0x7c8]
mov byte [esi + 0x53], 0
mov dword [esi + 0x9a8], 0
call fcn.00461b00
mov eax, dword [esi + 0x9a0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movss xmm3, dword [esi + 0x6b8]
movss xmm1, dword [esi + 0x6d0]
subss xmm3, dword [esi + 0x718]
movaps xmm0, xmm3
cmpunordss xmm0, xmm3
movaps xmm2, xmm0
andps xmm2, xmm1
minss xmm1, xmm3
andnps xmm0, xmm1
orps xmm0, xmm2
cmp dword [esi + 0x698], eax
xorps xmm2, xmm2
ja 0x48a3ed
jmp 0x48a3fc
movzx eax, byte [esi + 0x1e4]
or al, byte [esi + 0x1e5]
jne 0x48c454
add edx, 0x110
jmp 0x48b989
mov ecx, dword [esi + 0x868]
movq xmm0, qword [esi + 0x858]
movq xmm1, qword [esi + 0x860]
mov edx, ebx
movd dword [esi + 0x60], xmm2
shr edx, 8
mov dword [esi + 0x130], ecx
movq qword [esi + 0x128], xmm1
movq qword [esi + 0x120], xmm0
jmp 0x489140
add edx, 0x13c
jmp 0x48b989
xorps xmm0, xmm0
movaps xmmword [esi + 0x100], xmm0
mov ecx, dword [esi + 0x363]
mov eax, dword [esi + 0x360]
cmp byte [esi + 0x4c], 0
mov byte [esi + 0x70], 0x15
mov dword [esi + 0x413], ecx
mov dword [esi + 0x410], eax
setne al
cmp byte [esi + 0x48], 0
setne dl
and dl, al
cmp byte [esi + 0x9c], 0
sete al
test byte [esi + 0x2c], 1
sete cl
cmp dl, 1
je 0x48c4fe
or al, cl
je 0x48c4fe
test byte [esi + 0x2c], 1
mov byte [esi + 0x70], 0x14
sete al
cmp byte [esi + 0x9c], 0
sete dl
cmp byte [esi + 0x48], 0
sete ah
cmp byte [esi + 0x4c], 0
sete cl
or ah, dl
cmp ah, 1
jne 0x48c4fe
or cl, al
je 0x48c4fe
movzx eax, byte [esi + 0x4c]
mov byte [esi + 0x70], 0x13
or al, byte [esi + 0x9c]
jne 0x48c4fe
movzx eax, byte [esi + 0x2c]
mov byte [esi + 0x70], 0x16
or al, byte [esi + 0x48]
je 0x48c580
mov eax, dword [ebp + 8]
mov ecx, 8
mov edx, dword [eax]
lea eax, [edx + 8]
mov dword [esi + 0xb0], edx
mov dword [esi + 0x80], eax
xor eax, eax
lock cmpxchg dword [edx + 8], ecx
je 0x48c541
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.007188f0
movzx eax, byte [esi + 0x70]
mov ecx, dword [esi + 0xb0]
xor edx, edx
mov byte [ecx + 0x47d], al
mov eax, 8
lock cmpxchg dword [ecx + 8], edx
je 0x48c580
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719150
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x70], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48c5a8
mov ecx, eax
add ecx, 0x10
jb 0x48c5a8
mov edx, dword [esi + 0x70]
lock cmpxchg dword [edx], ecx
je 0x48c5c6
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x80]
mov edx, 0xfffffff0
movzx eax, byte [ecx + 0x318]
mov byte [esi + 0xb0], al
lock xadd dword [ecx + 8], edx
and edx, 0xfffffff2
cmp edx, 0x12
jne 0x48c609
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
cmp byte [esi + 0xb0], 0
mov byte [esi + 0x80], 2
je 0x4898fd
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x70], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48c645
mov ecx, eax
add ecx, 0x10
jb 0x48c645
mov edx, dword [esi + 0x70]
lock cmpxchg dword [edx], ecx
je 0x48c663
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0xb0]
mov eax, dword [ecx + 0x2f4]
movss xmm0, dword [ecx + 0x2f8]
movss xmm1, dword [ecx + 0x2fc]
mov dword [esi + 0x44], eax
movss dword [esi + 0x38], xmm0
movss dword [esi + 0x3c], xmm1
mov eax, 0xfffffff0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48c6bc
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
cmp dword [esi + 0x44], 0
je 0x4898fd
movzx ecx, byte [esi + 0x4c]
movzx edx, byte [esi + 0x9c]
mov ah, byte [esi + 0x48]
movaps xmm0, xmmword [esi + 0x180]
mov al, cl
or al, dl
or al, ah
setne byte [esi + 0x44]
je 0x48c8a3
test cl, cl
je 0x48c9ad
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x80], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48c721
mov ecx, eax
add ecx, 0x10
jb 0x48c721
mov edx, dword [esi + 0x80]
lock cmpxchg dword [edx], ecx
je 0x48c742
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0xb0]
mov eax, 0xfffffff0
movss xmm0, dword [ecx + 0x37c]
movss dword [esi + 0x70], xmm0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48c788
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movss xmm0, dword [esi + 0x38]
mulss xmm0, dword [esi + 0x70]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x51c]
movss xmm0, dword [esi + 0x51c]
divss xmm0, dword [esi + 0x70]
movss dword [esi + 0x80], xmm0
movaps xmm0, xmmword [esi + 0x180]
movaps xmm1, xmm0
unpckhpd xmm1, xmm0
movaps xmmword [esi + 0x70], xmm1
mov ah, byte [esi + 0x48]
test ah, ah
je 0x48ca8f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x38], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48c7ff
mov ecx, eax
add ecx, 0x10
jb 0x48c7ff
mov edx, dword [esi + 0x38]
lock cmpxchg dword [edx], ecx
je 0x48c81d
mov ecx, dword [esi + 0x38]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x40]
mov eax, 0xfffffff0
movss xmm0, dword [ecx + 0x37c]
movss dword [esi + 0xb0], xmm0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48c860
mov ecx, dword [esi + 0x38]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movss xmm0, dword [esi + 0x3c]
mulss xmm0, dword [esi + 0xb0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x514]
movss xmm1, dword [esi + 0x514]
movaps xmm0, xmmword [esi + 0x180]
divss xmm1, dword [esi + 0xb0]
shufps xmm0, xmm0, 0xff
jmp 0x48cb5d
cmp byte [esi + 0x2c], 0
movaps xmm1, xmm0
unpckhpd xmm1, xmm0
movaps xmmword [esi + 0x70], xmm1
je 0x48cf31
movss dword [esi + 0x80], xmm0
jmp 0x48ca99
mov ecx, dword [esi + 0x67c]
mov eax, 0x16
test ecx, ecx
je 0x48c9a8
mov edx, dword [esi + 0x678]
cmp byte [edx], 0x29
jne 0x48c9a8
mov eax, dword [esi + 0x684]
mov dword [esi + 0x60], ecx
movzx ecx, byte [edx]
mov dword [esi + 0x58], edx
mov dword [esi + 0x1a8], 3
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x688]
mov byte [esi + 0xb0], cl
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x100], eax
call fcn.00575e70
cmp byte [esi + 0xb0], 0xa
jne 0x48d219
mov eax, dword [esi + 0x44]
mov ecx, 1
inc eax
mov dword [esi + 0x684], eax
jmp 0x48d220
movq xmm0, qword [esi + 0x1b8]
movq xmm1, qword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c8]
mov ebx, dword [esi + 0x1ac]
mov edi, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
movq qword [esi + 0x560], xmm0
movq qword [esi + 0x568], xmm1
mov dword [esi + 0x570], ecx
mov ecx, dword [esi + 0x570]
movsd xmm1, qword [esi + 0x560]
movsd xmm2, qword [esi + 0x568]
movq xmm0, qword [esi + 0x684]
mov dword [esi + 0x868], ecx
jmp 0x4889f6
jmp 0x489140
test dl, dl
movss dword [esi + 0x80], xmm0
je 0x48d1ea
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x40], ecx
mov dword [esi + 0xb0], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48c9e8
mov ecx, eax
add ecx, 0x10
jb 0x48c9e8
mov edx, dword [esi + 0xb0]
lock cmpxchg dword [edx], ecx
je 0x48ca09
mov ecx, dword [esi + 0xb0]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x40]
mov eax, 0xfffffff0
movss xmm0, dword [ecx + 0x37c]
movss dword [esi + 0x70], xmm0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48ca4c
mov ecx, dword [esi + 0xb0]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movss xmm0, dword [esi + 0x38]
mulss xmm0, dword [esi + 0x70]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x518]
movss xmm0, dword [esi + 0x518]
divss xmm0, dword [esi + 0x70]
movaps xmmword [esi + 0x70], xmm0
movaps xmm0, xmmword [esi + 0x180]
mov ah, byte [esi + 0x48]
test ah, ah
jne 0x48c7da
cmp byte [esi + 0x2c], 0
je 0x48d202
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x38], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48cabe
mov ecx, eax
add ecx, 0x10
jb 0x48cabe
mov edx, dword [esi + 0x38]
lock cmpxchg dword [edx], ecx
je 0x48cadc
mov ecx, dword [esi + 0x38]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x40]
mov eax, 0xfffffff0
movss xmm0, dword [ecx + 0x37c]
movss dword [esi + 0xb0], xmm0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48cb1f
mov ecx, dword [esi + 0x38]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movss xmm0, dword [esi + 0x3c]
mulss xmm0, dword [esi + 0xb0]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x510]
movss xmm0, dword [esi + 0x510]
movaps xmm1, xmmword [esi + 0x180]
divss xmm0, dword [esi + 0xb0]
shufps xmm1, xmm1, 0x55
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0x9a8], 5
movss xmm0, dword [esi + 0x80]
mov ecx, dword [ebp + 8]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.0051c290
movss dword [esi + 0x80], xmm0
movss dword [esi + 0x3c], xmm1
mov ecx, dword [ebp + 8]
movaps xmm0, xmmword [esi + 0x70]
movaps xmm1, xmmword [esi + 0xb0]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
call fcn.0051c290
movss xmm2, dword [esi + 0x80]
mov eax, dword [esi + 0x8e4]
mov edx, dword [ebp + 8]
lea edi, [esi + 0x1a8]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
lea ecx, [esi + 0x560]
movss dword [esi + 0x670], xmm2
movss xmm2, dword [esi + 0x3c]
mov dword [esi + 0x1b8], eax
lea eax, [esi + 0x670]
movss dword [esi + 0x674], xmm2
movss dword [esi + 0x678], xmm0
movsd xmm0, qword [esi + 0x8d4]
movq xmm2, qword [esi + 0x8dc]
movss dword [esi + 0x67c], xmm1
movq qword [esi + 0x1b0], xmm2
movsd qword [esi + 0x1a8], xmm0
push edi
push eax
call fcn.0051c400
add esp, 8
movsx eax, byte [esi + 0x8d0]
movsx ecx, byte [esi + 0x8d1]
cmp byte [esi + 0x2c], 0
movsd xmm0, qword [esi + 0x8c8]
movsd xmm3, qword [esi + 0x560]
movss xmm2, dword [eax*4 + 0x8f86f0]
movss xmm1, dword [ecx*4 + 0x8f872c]
setne al
or byte [esi + 0x44], al
unpcklps xmm2, xmm1
mulps xmm2, xmm0
addps xmm2, xmm3
movlps qword [esi + 0x8c0], xmm2
je 0x48cdac
mov eax, dword [esi + 0x118]
movaps xmmword [esi + 0x80], xmm3
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
lea ecx, [esi + 0x670]
mov dword [esi + 0x1ac], eax
mov eax, dword [esi + 0x11c]
mov dword [esi + 0x1a8], eax
mov eax, dword [ebp + 8]
mov edx, dword [eax]
lea eax, [esi + 0x1a8]
mov dword [esi + 0x70], edx
push eax
call fcn.00510d10
add esp, 4
cmp dword [esi + 0x670], 2
je 0x48cda7
movaps xmm1, xmmword [esi + 0x350]
movaps xmm2, xmmword [esi + 0x300]
movsd xmm4, qword [esi + 0x100]
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x70]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
lea edx, [esi + 0x120]
movaps xmm0, xmm1
movaps xmm3, xmm2
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0x11c]
shufps xmm0, xmm1, 0xe9
shufps xmm1, xmm1, 0xec
shufps xmm3, xmm2, 0xe9
shufps xmm2, xmm2, 0xec
addps xmm2, xmm3
addps xmm1, xmm0
movsd xmm3, qword [esi + 0x67c]
addps xmm2, xmm1
xorps xmm1, xmm1
shufps xmm4, xmm1, 0xe2
mov dword [esi + 0x120], eax
lea eax, [esi + 0x1a8]
addps xmm4, xmm2
movsd xmm2, qword [esi + 0x684]
movsd qword [esi + 0x1b4], xmm3
movsd qword [esi + 0x1bc], xmm2
movsd xmm2, qword [esi + 0x568]
mov dword [esi + 0x1a8], 1
subps xmm2, xmmword [esi + 0x80]
subps xmm2, xmm4
movlps qword [esi + 0x1ac], xmm2
push eax
call fcn.00510630
add esp, 4
mov edx, dword [esi + 0x70]
jmp 0x48cdb1
mov eax, dword [ebp + 8]
mov edx, dword [eax]
lea eax, [edx + 8]
mov ecx, 8
mov dword [esi + 0x70], edx
mov dword [esi + 0x80], eax
xor eax, eax
lock cmpxchg dword [edx + 8], ecx
je 0x48cde2
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
call fcn.007188f0
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x9a8], 6
lea ecx, [eax + 0x170]
push dword [esi + 0xd0]
push dword [esi + 0x5c]
call fcn.0052be10
add esp, 8
mov eax, dword [esi + 0x70]
movzx edi, byte [esi + 0xd0]
mov edx, dword [esi + 0x28]
lea ecx, [eax + 0x1a0]
push edi
push dword [esi + 0x5c]
call fcn.0052be10
add esp, 8
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 0x1d8]
lea eax, [ecx + 0x1d0]
mov dword [esi + 0x118], eax
mov eax, dword [ecx + 0x1d0]
mov ecx, dword [esi + 0xd0]
mov edi, edx
shl edi, 4
mov dword [esi + 0x11c], eax
test edi, edi
je 0x48ce7c
mov ebx, eax
add edi, 0xfffffff0
add eax, 0x10
cmp byte [ebx + 8], cl
jne 0x48ce54
mov ecx, dword [ebx]
mov ebx, dword [ebx + 4]
xor ecx, dword [esi + 0x28]
xor ebx, dword [esi + 0x5c]
or ebx, ecx
mov ecx, dword [esi + 0xd0]
jne 0x48ce54
jmp 0x48ced6
mov edi, dword [esi + 0x70]
cmp edx, dword [edi + 0x1d4]
jne 0x48cead
mov ecx, dword [esi + 0x118]
mov dword [esi + 0x9a8], 6
call fcn.00609ec0
mov edi, dword [esi + 0x70]
mov ebx, dword [edi + 0x1d0]
mov edx, dword [edi + 0x1d8]
jmp 0x48ceb3
mov ebx, dword [esi + 0x11c]
mov ecx, dword [esi + 0x28]
mov eax, edx
inc edx
shl eax, 4
mov dword [ebx + eax], ecx
mov ecx, dword [esi + 0x5c]
mov dword [ebx + eax + 4], ecx
mov ecx, dword [esi + 0xd0]
mov byte [ebx + eax + 8], cl
mov dword [edi + 0x1d8], edx
mov edx, dword [esi + 0x80]
xor ecx, ecx
mov eax, 8
lock cmpxchg dword [edx], ecx
je 0x48cf0a
mov ecx, dword [esi + 0x80]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719150
mov ecx, dword [esi + 0x413]
mov eax, dword [esi + 0x410]
mov dword [esi + 0x47b], ecx
movzx ecx, byte [esi + 0x2c]
mov dword [esi + 0x478], eax
mov byte [esi + 0x80], cl
jmp 0x4898fd
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x40], ecx
mov dword [esi + 0xb0], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48cf5c
mov ecx, eax
add ecx, 0x10
jb 0x48cf5c
mov edx, dword [esi + 0xb0]
lock cmpxchg dword [edx], ecx
je 0x48cf7d
mov ecx, dword [esi + 0xb0]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x30c]
mov ecx, dword [ecx + 0x314]
shl ecx, 3
lea ecx, [ecx + ecx*2]
mov edx, ecx
test ecx, ecx
je 0x48cfa3
cmp byte [eax], 1
lea eax, [eax + 0x18]
lea ecx, [edx - 0x18]
jne 0x48cf92
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0x40], edx
mov eax, 0xfffffff0
lock xadd dword [ecx], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48cfde
mov ecx, dword [esi + 0xb0]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
movaps xmm0, xmmword [esi + 0x180]
cmp dword [esi + 0x40], 0
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0x55
shufps xmm2, xmm0, 0xff
movaps xmmword [esi + 0xb0], xmm2
jne 0x48cb76
mov eax, dword [ebp + 8]
movaps xmmword [esi + 0x8f0], xmm1
mov ecx, dword [eax]
lea eax, [ecx + 8]
mov dword [esi + 0x348], ecx
mov dword [esi + 0x40], eax
mov eax, dword [ecx + 8]
test al, 8
jne 0x48d033
mov ecx, eax
add ecx, 0x10
jb 0x48d033
mov edx, dword [esi + 0x40]
lock cmpxchg dword [edx], ecx
je 0x48d051
mov ecx, dword [esi + 0x40]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719890
mov ecx, dword [esi + 0x348]
mov eax, dword [ecx + 0x300]
movss xmm0, dword [ecx + 0x304]
movss xmm1, dword [ecx + 0x308]
mov dword [esi + 0x344], eax
movss dword [esi + 0x114], xmm0
movss dword [esi + 0xcc], xmm1
mov eax, 0xfffffff0
lock xadd dword [ecx + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x48d0b3
mov ecx, dword [esi + 0x40]
mov byte [esi + 5], 1
mov byte [esi + 6], 1
mov byte [esi + 7], 1
mov dword [esi + 0x9a8], 5
call fcn.00719c10
cmp dword [esi + 0x344], 0
je 0x4898fd
movss xmm3, dword [esi + 0x38]
movss xmm1, dword [esi + 0x3c]
movaps xmm0, xmmword [esi + 0x180]
movaps xmm2, xmmword [esi + 0x70]
movaps xmm4, xmmword [esi + 0x8f0]
mov dword [esi + 0x9a8], 5
subss xmm3, dword [esi + 0x114]
subss xmm1, dword [esi + 0xcc]
subss xmm2, xmm0
addss xmm3, xmm0
movaps xmm0, xmmword [esi + 0xb0]
addss xmm1, xmm4
addss xmm2, xmm3
movaps xmmword [esi + 0x70], xmm2
subss xmm0, xmm4
addss xmm0, xmm1
movaps xmmword [esi + 0xb0], xmm0
movaps xmm0, xmm3
jmp 0x48cb76
mov ecx, dword [esi + 0x180]
cmp ebx, 2
mov dword [esi + 0x48], 2
je 0x489329
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x48d161
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x48d2ad
mov dword [0x919820], eax
push 0xc
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x48d2ad
movd xmm0, dword [esi + 0xe4]
mov edx, eax
movzx eax, byte [esi + 0x10]
shl edi, 8
mov dword [edx], ebx
movd ecx, xmm0
or eax, edi
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0xa0]
mov dword [edx + 8], eax
lock dec dword [ecx]
mov edi, dword [esi + 0xf0]
jne 0x48d1b3
mov ebx, edx
mov ecx, dword [edi - 8]
mov edx, dword [edi - 4]
call fcn.004f2ff0
mov edx, ebx
mov dword [edi - 0x18], 0
mov dword [edi - 0x14], 0x561f70
mov dword [edi - 0x10], edx
mov dword [edi - 0xc], 0x741578
mov dword [esi + 0x10], edx
mov dword [edi - 8], 0x562020
jmp 0x48898e
mov ebx, dword [esi + 0xcc]
mov eax, 0x2b
jmp 0x488f3b
movaps xmm1, xmm0
unpckhpd xmm1, xmm0
movaps xmmword [esi + 0x70], xmm1
test ah, ah
jne 0x48c7da
jmp 0x48ca8f
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
shufps xmm0, xmm0, 0xff
movaps xmmword [esi + 0xb0], xmm0
jmp 0x48cb6e
mov ecx, dword [esi + 0x100]
inc ecx
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x58]
mov dword [esi + 0x688], ecx
inc edx
dec eax
mov dword [esi + 0x678], edx
mov dword [esi + 0x67c], eax
jmp 0x4890ac
ud2
mov ecx, 8
mov edx, 0x58
mov dword [esi + 0x9a8], 0x12
call fcn.00709d20
jmp 0x48d2bc
mov ecx, 4
mov edx, 0x48
mov dword [esi + 0x9a8], 0xd
call fcn.00709d20
jmp 0x48d2bc
mov ecx, 8
mov edx, 0x60
mov dword [esi + 0x9a8], 0x11
call fcn.00709d20
jmp 0x48d2bc
mov ecx, str.No_fonts_available_until_first_call_to_Context::run__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fegui_0.22.0_srccontext.rs
mov edx, 0x35
push 0x742b0c
call fcn.0070a3e0
add esp, 4
jmp 0x48d2bc
mov ecx, 4
mov edx, 0xc
call fcn.00709d20
ud2