Function at 0x539570
Capabilities:
Access peb ldr_data
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, 0x450
mov esi, esp
mov dword [esi + 0x438], ebp
mov dword [esi + 0x43c], esp
mov dword [esi + 0x448], 0xffffffff
mov dword [esi + 0x444], 0x704610
mov dword [esi + 0x2d0], ecx
lea eax, [esi + 0x440]
mov ecx, dword fs:[0]
mov dword [esi + 0x440], ecx
mov dword fs:[0], eax
movzx eax, word [edx + 0x30]
movsd xmm6, qword [edx + 0x20]
movsd xmm5, qword [edx + 0x28]
movups xmm3, xmmword [edx + 0x10]
movups xmm2, xmmword [edx + 0x14]
movss xmm1, dword [edx + 0x1c]
movss xmm0, dword [edx + 0x32]
mov ecx, dword [edx + 4]
mov edi, dword [edx + 0xc]
mov ebx, dword [edx + 8]
mov dword [esi + 0x290], eax
mov word [esi + 0x9a], ax
movzx eax, byte [edx + 0x38]
mov byte [esi + 0x1b], al
movzx eax, byte [edx + 0x36]
mov byte [esi + 0x3f], al
movzx eax, byte [edx + 0x37]
mov byte [esi + 0x67], al
mov eax, dword [edx]
mov edx, dword [edx + 0x18]
mov dword [esi + 0x310], edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0xe0]
mov dword [esi], edx
lock inc dword [edx]
call 0x539629
pop edx
mov dword [esi + 0x320], edx
jle 0x53bfcc
or eax, ecx
mov eax, 0x3437e974
mov ecx, 0x2df45158
movaps xmmword [esi + 0x3f0], xmm0
movaps xmmword [esi + 0x360], xmm5
movaps xmmword [esi + 0x350], xmm6
movaps xmmword [esi + 0x420], xmm1
movaps xmmword [esi + 0x410], xmm2
movaps xmmword [esi + 0x400], xmm3
cmove ebx, eax
mov eax, 0x91bc8861
cmove edi, eax
mov dword [esi + 0x50], ebx
mov ebx, 0x38d01376
mov dword [esi + 0x20], edi
mov edi, dword [ebp + 8]
xor ebx, dword [edi + 0xf0]
mov eax, ebx
mul ecx
mov ecx, 0x452821e6
xor ecx, dword [edi + 0xf4]
mov dword [esi + 0x280], eax
imul eax, ebx, 0x2d7f954c
bswap ebx
add eax, edx
imul edx, ecx, 0x2df45158
bswap ecx
add edx, eax
mov eax, ecx
imul ecx, ecx, 0xa7ae0bd2
mov dword [esi + 0x40], edx
mov edx, 0xb36a80d2
mul edx
mov edi, eax
add ecx, edx
imul eax, ebx, 0xb36a80d2
mov edx, 0x2df45158
add eax, ecx
mov ecx, dword [esi + 0x280]
bswap edi
xor edi, dword [esi + 0x40]
bswap eax
xor ecx, dword [esi + 0x50]
xor edi, dword [esi + 0x20]
xor ecx, eax
mov eax, ecx
mul edx
mov dword [esi + 0x20], eax
imul eax, ecx, 0x2d7f954c
bswap ecx
add eax, edx
imul edx, edi, 0x2df45158
bswap edi
imul ecx, ecx, 0xb36a80d2
add edx, eax
mov eax, edi
mov dword [esi + 0x50], edx
mov edx, 0xb36a80d2
mul edx
mov ebx, eax
imul eax, edi, 0xa7ae0bd2
add eax, edx
bswap ebx
mov edx, 0xcf6654be
add ecx, eax
xor ebx, dword [esi + 0x50]
bswap ecx
xor ecx, dword [esi + 0x20]
imul edi, ebx, 0xcf6654be
bswap ebx
mov eax, ecx
mul edx
mov dword [esi + 0x20], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add edi, eax
mov eax, ebx
imul ebx, ebx, 0x41ab9930
mul edx
add ebx, edx
mov edx, ecx
bswap eax
bswap edx
xor eax, edi
mov edi, dword [esi]
imul edx, edx, 0xcb16f391
add edx, ebx
bswap edx
xor edx, dword [esi + 0x20]
test cl, 0x20
mov dword [esi + 0x1f4], edi
mov edi, edx
cmove edx, eax
cmovne edi, eax
mov eax, edx
shld eax, edi, cl
shld edi, edx, cl
mov edx, dword [ebp + 8]
mov dword [esi + 0x68], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x6c], edi
cmp dword [edx], 2
lea eax, [eax + 0xe0]
mov dword [esi + 0x40], eax
jne 0x5397ef
movzx eax, byte [edx + 0xbd]
movsd xmm2, qword [edx + 0xa8]
movsd xmm1, qword [edx + 0xb0]
movss xmm4, dword [edx + 0x98]
movss xmm3, dword [edx + 0x9c]
movsd xmm0, qword [edx + 0xa0]
mov eax, dword [eax*4 + 0x53c130]
add eax, dword [esi + 0x320]
jmp eax
lea eax, [edx + 0x88]
lea ecx, [esi + 0xc0]
push eax
call fcn.00555760
add esp, 4
movsd xmm1, qword [esi + 0xc0]
jmp 0x5398fa
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x6c]
xorps xmm0, xmm0
movlps qword [esi + 0x228], xmm1
mov dword [esi + 0x448], 0
lea eax, [esi + 0x228]
addps xmm0, xmm1
movlps qword [esi + 0x230], xmm0
push 0xa
push str.ScrollAreaC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fegui_0.22.0_srccontainers_scroll_area.rs
push eax
push dword [esi + 0x68]
call fcn.00518fa0
add esp, 0x10
mov edi, dword [esi]
mov edx, 8
xor eax, eax
lea ecx, [edi + 8]
lock cmpxchg dword [edi + 8], edx
mov dword [esi + 0x1d0], ecx
je 0x53995d
call fcn.007188f0
mov edi, dword [esi]
mov ecx, dword [esi + 0x1d0]
cmp dword [edi + 0xfc], 0
mov dword [esi + 0x2b0], 2
je 0x53aede
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
mov edx, dword [edi + 0xf0]
mov edi, dword [edi + 0xf4]
pcmpeqd xmm1, xmm1
mov dword [esi + 0x200], 0
xor ecx, 0x79e5baef
xor eax, 0xc49fa07f
mov dword [esi + 0xa4], edx
mov dword [esi], edi
mov dword [esi + 0x50], eax
mov eax, ecx
mov dword [esi + 0x20], ecx
shr eax, 0x19
movd xmm0, eax
lea eax, [edx - 0x20]
punpcklbw xmm0, xmm0
mov dword [esi + 0x280], 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 cs:[eax + eax]
nop dword [eax]
test dx, dx
je 0x539a30
tzcnt ecx, edx
mov ebx, dword [esi + 0x280]
lea edi, [edx - 1]
add ecx, eax
and edi, edx
and ecx, dword [esi]
mov edx, ecx
shl edx, 5
sub ebx, edx
mov edx, dword [ebx + 4]
mov ebx, dword [ebx]
xor edx, dword [esi + 0x50]
xor ebx, dword [esi + 0x20]
or ebx, edx
mov edx, edi
jne 0x5399f0
jmp 0x539a60
pcmpeqb xmm2, xmm1
pmovmskb ecx, xmm2
test ecx, ecx
jne 0x53aed8
mov ecx, dword [esi + 0x200]
mov edx, dword [esi + 0xa4]
mov edi, dword [esi]
lea eax, [eax + ecx + 0x10]
add ecx, 0x10
mov dword [esi + 0x200], ecx
jmp 0x5399cf
mov edx, dword [esi + 0xa4]
neg ecx
shl ecx, 5
cmp dword [edx + ecx - 0x18], 0
lea eax, [edx + ecx]
mov dword [esi + 0x448], 1
je 0x53a455
mov ecx, dword [eax - 8]
mov dword [esi + 0x280], eax
mov eax, dword [eax - 4]
lea edi, [esi + 0x70]
mov dword [esi + 0x78], 0
mov dword [esi + 0x70], 1
mov dword [esi + 0x74], 0x80
lea edx, [ecx + 8]
mov dword [esi + 0xa4], ecx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x210], edx
mov dword [esi + 0x214], eax
push edi
push eax
call fcn.00692d10
add esp, 8
mov eax, dword [esi + 0xc0]
movzx ebx, word [esi + 0xe6]
cmp eax, 0x2c
jne 0x53a4f8
mov eax, dword [esi + 0xe8]
movups xmm0, xmmword [esi + 0xc4]
movzx ecx, word [esi + 0xe4]
movups xmm1, xmmword [esi + 0xd4]
test al, al
movups xmmword [esi + 0x228], xmm0
movups xmmword [esi + 0x238], xmm1
mov word [esi + 0x248], cx
mov word [esi + 0x24a], bx
mov dword [esi + 0x24c], eax
jne 0x539b4d
lea edx, [esi + 0x230]
lea ecx, [esi + 0xc0]
push 5
push 0x7416a4
call fcn.00690910
add esp, 8
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53a522
lea edx, [esi + 0x230]
lea ecx, [esi + 0xc0]
call fcn.0068dc50
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53a75f
cmp byte [esi + 0x24c], 0
mov al, 1
je 0x53a54a
mov byte [esi + 0x24c], 0
mov byte [esi + 0x3e], al
cmp dword [esi + 0x228], 0
je 0x539ba4
mov eax, dword [esi + 0x22c]
test eax, eax
je 0x53a5c6
dec eax
mov dword [esi + 0x22c], eax
lea eax, [esi + 0x228]
mov edx, 2
lea ecx, [esi + 0xc0]
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x70], eax
mov al, 2
mov word [esi + 0x74], 0x129
mov word [esi + 0x4a], ax
mov dword [esi + 0x224], eax
mov dword [esi + 0x1ec], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x200], eax
mov al, 2
mov word [esi + 0x48], ax
mov al, 2
mov word [esi + 0x46], ax
mov dword [esi + 0x1c], edx
movaps xmmword [esi + 0x2a0], xmm1
mov edi, dword [esi + 0x70]
lea ebx, [edi + 8]
mov edx, ebx
call fcn.0068dc50
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53a5d0
cmp dword [edi + 0xc], 0
je 0x53a601
mov eax, dword [edi + 8]
test eax, eax
je 0x53a601
mov dword [esi + 0x4c], ebx
movzx ebx, byte [eax]
mov bh, byte [esi + 0x75]
lea ecx, [esi + 0xc0]
mov dword [esi], edi
mov dword [esi + 0xc0], 3
call fcn.00575e70
movzx eax, byte [esi + 0x74]
test bh, bh
je 0x53a637
movss xmm2, dword [esi + 0x300]
movaps xmm3, xmmword [esi + 0x2f0]
movaps xmm1, xmmword [esi + 0x2e0]
cmp bl, al
setne cl
je 0x53a64b
cmp al, 0x29
mov eax, dword [esi]
mov dword [esi + 0x224], ecx
mov eax, dword [eax]
jne 0x539d42
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x200]
mov edx, dword [esi]
test eax, eax
je 0x539ca7
mov eax, dword [edx + 4]
test eax, eax
je 0x53a7ff
dec eax
mov dword [edx + 4], eax
lea ecx, [esi + 0xc0]
call fcn.0051dad0
mov eax, dword [esi + 0xc0]
movzx ecx, byte [esi + 0x66]
movzx edx, word [esi + 0x1fe]
movss xmm2, dword [esi + 0x2cc]
movaps xmm3, xmmword [esi + 0x3e0]
cmp eax, 0x2c
je 0x539d03
movups xmm0, xmmword [esi + 0xc8]
movzx ecx, byte [esi + 0xc5]
movzx edx, word [esi + 0xc6]
movss xmm2, dword [esi + 0xd8]
movsd xmm3, qword [esi + 0xdc]
movaps xmmword [esi + 0x3c0], xmm0
mov ebx, dword [esi]
mov ch, byte [esi + 0xc4]
movaps xmm1, xmmword [esi + 0x3c0]
mov word [esi + 0x1fe], dx
mov byte [esi + 0x66], cl
movss dword [esi + 0x2cc], xmm2
movaps xmmword [esi + 0x3e0], xmm3
cmp dword [ebx], 0
mov byte [esi + 0x50], ch
lea edi, [esi + 0xc0]
jne 0x539df2
jmp 0x539e1b
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 0x200]
mov edx, dword [esi]
test eax, eax
je 0x539d60
mov eax, dword [edx + 4]
test eax, eax
je 0x53a7ff
dec eax
mov dword [edx + 4], eax
lea ecx, [esi + 0xc0]
call fcn.0051dad0
mov eax, dword [esi + 0xc0]
movzx ecx, byte [esi + 0x65]
movzx edx, word [esi + 0x1fc]
movss xmm2, dword [esi + 0x2c8]
movaps xmm3, xmmword [esi + 0x3d0]
cmp eax, 0x2c
je 0x539dbc
movups xmm0, xmmword [esi + 0xc8]
movzx ecx, byte [esi + 0xc5]
movzx edx, word [esi + 0xc6]
movss xmm2, dword [esi + 0xd8]
movsd xmm3, qword [esi + 0xdc]
movaps xmmword [esi + 0x3b0], xmm0
mov ebx, dword [esi]
mov ch, byte [esi + 0xc4]
movaps xmm1, xmmword [esi + 0x3b0]
mov word [esi + 0x1fc], dx
mov byte [esi + 0x65], cl
movss dword [esi + 0x2c8], xmm2
movaps xmmword [esi + 0x3d0], xmm3
cmp dword [ebx], 0
mov byte [esi + 0x50], ch
lea edi, [esi + 0xc0]
je 0x539e1b
mov dword [esi + 0x20], edx
mov edx, ecx
mov ecx, dword [ebx + 4]
mov dword [esi + 0x200], eax
mov eax, edi
mov edi, 0xffffffff
inc ecx
cmove ecx, edi
mov edi, eax
mov eax, dword [esi + 0x200]
mov dword [ebx + 4], ecx
mov ecx, edx
mov edx, dword [esi + 0x20]
cmp eax, 0x2c
jne 0x53a790
cmp byte [esi + 0x50], 6
mov dword [esi + 0x200], ecx
mov dword [esi + 0x20], edx
movss dword [esi + 0x300], xmm2
movaps xmmword [esi + 0x2f0], xmm3
movaps xmmword [esi + 0x2e0], xmm1
ja 0x539e5c
movzx eax, byte [esi + 0x50]
mov eax, dword [eax*4 + 0x53c140]
add eax, dword [esi + 0x320]
jmp eax
mov ecx, edi
lea edx, [esi + 0x70]
call fcn.00482a40
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53a7d6
lea ecx, [esi + 0xc0]
jmp 0x539bf9
mov edx, dword [eax - 0x10]
mov eax, dword [eax - 0xc]
lea ecx, [esi + 0x380]
mov dword [esi], edx
push edx
push ecx
call dword [eax + 0xc]
add esp, 8
mov eax, dword [esi + 0x38c]
mov ecx, dword [esi + 0x388]
mov edi, dword [esi + 0x380]
mov edx, dword [esi + 0x384]
xor edi, 0xc2ff79
xor ecx, 0x93217080
xor edx, 0xf141837d
xor eax, 0x37b594ab
or ecx, edi
or eax, edx
or eax, ecx
mov ecx, dword [esi + 0x1d0]
jne 0x53aede
mov edx, dword [esi]
mov edi, dword [edx + 0x24]
mov eax, dword [edx]
mov dword [esi + 0xe0], edi
mov dword [esi + 0x2b0], eax
movsd xmm0, qword [edx + 0x1c]
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [edx + 0x14]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [edx + 0xc]
movsd qword [esi + 0xc8], xmm0
movsd xmm0, qword [edx + 4]
movsd qword [esi + 0xc0], xmm0
jmp 0x53aede
movdqu xmm1, xmmword [esi + 0xc4]
movdqu xmm3, xmmword [esi + 0xd4]
movzx edx, word [esi + 0xe4]
movzx ecx, word [esi + 0xe8]
movzx edi, word [esi + 0xea]
jmp 0x53ad6c
movzx edi, byte [esi + 0xc7]
mov ebx, dword [esi + 0xc8]
movzx edx, word [esi + 0xc5]
movzx ecx, byte [esi + 0xc4]
shl edi, 0x10
mov dword [esi + 0x20], ebx
or edx, edi
jmp 0x53a773
mov edi, dword [esi + 0x234]
mov edx, 0x7416a4
mov ecx, 0x7416a4
mov eax, 0x15
mov dword [esi + 0x20], 5
shr edx, 8
test edi, edi
je 0x53a5c1
mov ebx, dword [esi + 0x230]
cmp byte [ebx], 0x28
jne 0x53a5c1
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x23c]
mov edx, dword [esi + 0x240]
mov dword [esi + 0xc0], 3
mov byte [esi], cl
lea ecx, [esi + 0xc0]
mov dword [esi + 0x50], eax
mov dword [esi + 0x20], edx
call fcn.00575e70
cmp byte [esi], 0xa
jne 0x53a79b
mov eax, dword [esi + 0x50]
inc eax
mov dword [esi + 0x23c], eax
mov eax, 1
jmp 0x53a79f
jmp 0x53ac87
mov eax, 0x2b
jmp 0x53ac87
movzx ecx, byte [esi + 0xc4]
movzx ebx, byte [esi + 0xc5]
movzx edx, word [esi + 0xc6]
movups xmm1, xmmword [esi + 0xc8]
movss xmm2, dword [esi + 0xd8]
movsd xmm3, qword [esi + 0xdc]
jmp 0x53ac0d
movzx ecx, byte [esi + 0xc4]
movzx ebx, byte [esi + 0xc5]
movzx edx, word [esi + 0xc6]
movups xmm1, xmmword [esi + 0xc8]
movss xmm2, dword [esi + 0xd8]
movsd xmm3, qword [esi + 0xdc]
mov eax, 3
jmp 0x53ac0d
mov ecx, dword [esi + 0x224]
cmp bl, al
je 0x53a64b
mov eax, 9
jmp 0x53ac0d
movzx ecx, word [esi + 0x46]
cmp dword [esi + 0x1f0], 0
movzx eax, ch
sete byte [esi + 0x20]
movzx edx, cl
shl eax, 8
or edx, eax
xor eax, eax
cmp cl, 2
cmove edx, eax
mov dword [esi + 0x50], edx
movzx edx, word [esi + 0x48]
movzx ecx, dh
movzx ebx, dl
shl ecx, 8
or ebx, ecx
mov ecx, dword [esi + 0x1c]
cmp dl, 2
mov edx, dword [esi + 0x60]
cmove ebx, eax
cmp ecx, 2
cmove edx, eax
cmove ecx, eax
mov dword [esi + 0x60], edx
movzx edx, word [esi + 0x4a]
mov dword [esi + 0x1c], ecx
movzx eax, dh
movzx ecx, dl
shl eax, 8
or ecx, eax
cmp dl, 2
mov edx, 0x101
cmovne edx, ecx
cmp dword [esi + 0x228], 0
mov dword [esi], edx
je 0x53a6d4
mov eax, dword [esi + 0x22c]
mov ecx, 0xffffffff
inc eax
cmovne ecx, eax
mov dword [esi + 0x22c], ecx
lea ecx, [esi + 0xc0]
lea edx, [esi + 0x230]
call fcn.0068dc50
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53a75f
cmp byte [esi + 0x3e], 0
movdqa xmm1, xmmword [esi + 0x2a0]
je 0x53a80d
movzx ecx, byte [esi + 0x20]
xor eax, eax
mov al, cl
movd xmm0, eax
pshufd xmm0, xmm0, 0x50
pslld xmm0, 0x1f
psrad xmm0, 0x1f
pandn xmm0, xmm1
movdqa xmmword [esi + 0x200], xmm0
movss xmm0, dword [esi + 0xa0]
movss dword [esi + 0x20], xmm0
movdqa xmm0, xmmword [esi + 0x340]
movd dword [esi + 0x2f0], xmm0
pxor xmm0, xmm0
movdqa xmmword [esi + 0x2e0], xmm0
movdqa xmmword [esi + 0x300], xmm0
jmp 0x53acf7
mov edx, dword [esi + 0xc8]
mov ecx, dword [esi + 0xc4]
mov dword [esi + 0x20], edx
mov edx, ecx
shr edx, 8
movq xmm0, qword [esi + 0xcc]
movq xmm3, qword [esi + 0xd4]
movq xmm2, qword [esi + 0xdc]
jmp 0x53ac87
mov ebx, ecx
movzx ecx, byte [esi + 0x50]
jmp 0x53ac0d
mov eax, dword [esi + 0x20]
inc eax
dec edi
inc ebx
mov dword [esi + 0x240], eax
mov dword [esi + 0x230], ebx
mov dword [esi + 0x234], edi
movzx eax, byte [esi + 0x24c]
mov byte [esi + 0x24c], 0
mov byte [esi + 0x3e], al
cmp dword [esi + 0x228], 0
jne 0x539b8f
jmp 0x539ba4
mov ecx, dword [esi + 0xc4]
movups xmm1, xmmword [esi + 0xc8]
movss xmm2, dword [esi + 0xd8]
movsd xmm3, qword [esi + 0xdc]
mov edx, ecx
mov bl, ch
shr edx, 0x10
jmp 0x53ac0d
movzx ecx, byte [esi + 0x50]
mov eax, 0x2b
jmp 0x53ac0b
mov edi, dword [esi + 0x234]
mov eax, 0x16
test edi, edi
je 0x53a880
mov ecx, dword [esi + 0x230]
cmp byte [ecx], 0x29
jne 0x53a880
mov dword [esi + 0x200], ecx
movzx ecx, byte [ecx]
mov eax, dword [esi + 0x23c]
mov edx, dword [esi + 0x240]
mov dword [esi + 0xc0], 3
mov byte [esi + 0x300], cl
lea ecx, [esi + 0xc0]
mov dword [esi + 0x2e0], eax
mov dword [esi + 0x2f0], edx
call fcn.00575e70
cmp byte [esi + 0x300], 0xa
jne 0x53a885
mov eax, dword [esi + 0x2e0]
inc eax
mov dword [esi + 0x23c], eax
mov eax, 1
jmp 0x53a88c
jmp 0x53a5cb
mov eax, dword [esi + 0x2f0]
inc eax
mov ecx, dword [esi + 0x200]
movdqa xmm1, xmmword [esi + 0x2a0]
dec edi
mov dword [esi + 0x240], eax
inc ecx
mov dword [esi + 0x230], ecx
mov dword [esi + 0x234], edi
jmp 0x53a702
mov edx, edi
mov dword [esi + 0xc0], eax
movzx eax, bl
movzx ecx, cl
shl edx, 0x10
mov edi, 0x7416a4
shl eax, 8
or ecx, eax
xor eax, eax
or edx, ecx
cmp byte [esi + 0x3e], 0
lea ecx, [esi + 0x70]
mov dword [esi + 0xc4], edx
movups xmmword [esi + 0xc8], xmm1
movss dword [esi + 0xd8], xmm2
movlps qword [esi + 0xdc], xmm3
lea edx, [esi + 0xc0]
cmovne edi, eax
push 5
push edi
call fcn.006934f0
add esp, 8
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x74]
mov eax, dword [esi + 0x70]
movq xmm0, qword [esi + 0x7c]
movq xmm3, qword [esi + 0x84]
movq xmm2, qword [esi + 0x8c]
mov dword [esi + 0x20], edx
mov edx, ecx
shr edx, 8
movdqa xmm1, xmmword [0x7266b0]
shl edx, 8
movzx ecx, cl
mov edi, dword [esi + 0x240]
or ecx, edx
mov edx, dword [esi + 0x23c]
pand xmm1, xmm2
pand xmm2, xmmword [0x7266c0]
mov dword [esi], edi
shr edi, 0x10
mov ebx, edx
shr ebx, 0x10
cmp eax, 0x2c
por xmm2, xmm1
jne 0x53ad2d
movd dword [esi + 0x60], xmm0
pshufd xmm0, xmm0, 0x55
pshufd xmm1, xmm2, 0x55
movdqa xmmword [esi + 0x200], xmm3
mov dword [esi + 0x50], edx
mov dword [esi + 0x1c], ecx
movdqa xmmword [esi + 0x300], xmm2
movd dword [esi + 0x2f0], xmm0
movdqa xmmword [esi + 0x2e0], xmm1
lea edx, [esi + 0x230]
lea ecx, [esi + 0xc0]
call fcn.0068dc50
mov eax, dword [esi + 0xc0]
cmp eax, 0x2c
jne 0x53ad46
cmp dword [esi + 0x234], 0
mov ecx, dword [esi + 0x1d0]
je 0x53be82
mov eax, 0x22
jmp 0x53ad56
movd xmm4, dword [esi + 0x20]
movd xmm1, ecx
mov ecx, dword [esi]
punpcklqdq xmm3, xmm2
punpckldq xmm1, xmm4
punpcklqdq xmm1, xmm0
jmp 0x53ad6c
movdqu xmm1, xmmword [esi + 0xc4]
movdqu xmm3, xmmword [esi + 0xd4]
mov edx, dword [esi + 0x23c]
mov ecx, dword [esi + 0x240]
mov edi, ecx
mov ebx, edx
shr edi, 0x10
shr ebx, 0x10
mov dword [esi + 0x228], eax
movdqu xmmword [esi + 0x22c], xmm1
movdqu xmmword [esi + 0x23c], xmm3
mov word [esi + 0x24c], dx
mov word [esi + 0x24e], bx
mov word [esi + 0x250], cx
mov word [esi + 0x252], di
mov eax, dword [0x919aa8]
cmp eax, 1
jbe 0x53aecd
lea eax, [esi + 0xa8]
mov dword [esi + 0xa8], 0x7415c6
mov dword [esi + 0xac], 0x24
mov ecx, str.not_implementedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinit_0.28.6_srcplatform_implwindowsdrop_handler.rs
lea edx, [esi + 0x70]
mov dword [esi + 0x70], eax
lea eax, [esi + 0x228]
mov dword [esi + 0x74], 0x5cbf90
mov dword [esi + 0x78], eax
lea eax, [esi + 0x210]
mov dword [esi + 0x7c], 0x691770
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], 0x693810
mov eax, dword [0x91975c]
mov dword [esi + 0xec], 0x742d48
mov dword [esi + 0xf0], 3
mov dword [esi + 0xf4], edx
lea edx, [esi + 0xc0]
mov dword [esi + 0xf8], 3
mov dword [esi + 0xfc], 0
mov dword [esi + 0xe0], 2
mov dword [esi + 0xe4], 0x742dad
mov dword [esi + 0xe8], 0x17
mov dword [esi + 0xc8], 0
mov dword [esi + 0xd0], 0x17
mov dword [esi + 0xcc], 0x742dad
mov dword [esi + 0xd4], 0
mov dword [esi + 0xdc], 0x6d
mov dword [esi + 0xd8], 0x742dc4
mov dword [esi + 0xc0], 1
mov dword [esi + 0xc4], 0x122
mov dword [esi + 0x448], 2
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 + 0x228]
call fcn.00575e70
mov ecx, dword [esi + 0x1d0]
xor edx, edx
mov eax, 8
lock cmpxchg dword [ecx], edx
je 0x53aefa
mov dword [esi + 0x448], 0
call fcn.00719150
mov ecx, dword [esi + 0x2b0]
mov ebx, dword [esi + 0x290]
movaps xmm2, xmmword [esi + 0x420]
movaps xmm3, xmmword [esi + 0x410]
movaps xmm4, xmmword [esi + 0x400]
cmp ecx, 2
jne 0x53af55
mov dword [esi + 0x78], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x90], 0
mov word [esi + 0x94], 0x101
xorps xmm0, xmm0
xor ecx, ecx
jmp 0x53afa3
movsd xmm0, qword [esi + 0xd0]
movsd xmm1, qword [esi + 0xc8]
mov eax, dword [esi + 0xe0]
movsd qword [esi + 0x84], xmm0
movsd xmm0, qword [esi + 0xc0]
movsd qword [esi + 0x7c], xmm1
movsd xmm1, qword [esi + 0xd8]
mov dword [esi + 0x94], eax
movsd qword [esi + 0x8c], xmm1
movsd qword [esi + 0x74], xmm0
movsd xmm0, qword [esi + 0x80]
movss xmm1, dword [esi + 0x310]
mov edi, dword [ebp + 8]
movlhps xmm2, xmm3
mov dword [esi + 0x70], ecx
test bl, bl
shufps xmm2, xmm3, 0xe2
movlhps xmm1, xmm4
mov eax, dword [edi + 0x100]
shufps xmm1, xmm4, 0xe2
xorps xmm4, xmm4
pcmpeqd xmm1, xmm4
andps xmm0, xmm1
andnps xmm1, xmm2
orps xmm1, xmm0
movlps qword [esi + 0x80], xmm1
movaps xmmword [esi + 0x2b0], xmm1
movss xmm1, dword [eax + 0xa0]
addss xmm1, dword [eax + 0x98]
addss xmm1, dword [eax + 0xa4]
je 0x53b36b
cmp byte [esi + 0x1b], 0
je 0x53b3c4
mov edi, dword [esi + 0x6c]
mov ecx, 0x2df45158
movaps xmmword [esi + 0x1d0], xmm1
mov dword [esi + 0x448], 0
xor edi, 0x38d01376
mov eax, edi
mul ecx
mov ecx, dword [esi + 0x68]
mov dword [esi], 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 + 0x20], 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 + 0x20]
bswap edi
xor edi, dword [esi]
mov eax, edi
imul edi, edi, 0x5851f42d
mul ecx
mov ecx, eax
add edi, edx
imul eax, ebx, 0x4c957f2d
mov edx, 0x2df45158
add eax, edi
add ecx, 0x817e8b9b
adc eax, 0x16a65afc
xor ecx, 0xecec4feb
xor eax, 0xe7d616b
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi], 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 + 0x20], 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 + 0x20]
bswap ecx
xor ecx, dword [esi]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mov dword [esi], ecx
mul edx
mov dword [esi + 0x20], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
mul edx
mov ecx, edx
imul edx, edi, 0x41ab9930
bswap eax
add edx, ecx
mov ecx, dword [esi]
xor eax, ebx
mov ebx, eax
bswap ecx
imul edi, ecx, 0xcb16f391
mov ecx, dword [esi]
add edi, edx
bswap edi
xor edi, dword [esi + 0x20]
test cl, 0x20
cmovne ebx, edi
cmovne edi, eax
movzx eax, byte [esi + 0x90]
mov edx, edi
shld edx, ebx, cl
shld ebx, edi, cl
mov ecx, dword [esi + 0x40]
push eax
push ebx
call fcn.0051cb20
add esp, 8
movaps xmm1, xmmword [esi + 0x1d0]
mov edi, dword [ebp + 8]
mov ebx, dword [esi + 0x290]
xorps xmm4, xmm4
mulss xmm0, xmm1
test bh, bh
je 0x53b376
cmp byte [esi + 0x1b], 0
je 0x53b3e2
mov edi, dword [esi + 0x6c]
mov ecx, 0x2df45158
movaps xmmword [esi + 0x1d0], xmm1
mov dword [esi + 0x448], 0
xor edi, 0x38d01376
mov eax, edi
mul ecx
mov ecx, dword [esi + 0x68]
mov dword [esi], 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 + 0x20], 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 + 0x20]
bswap edi
xor edi, dword [esi]
mov eax, edi
imul edi, edi, 0x5851f42d
mul ecx
mov ecx, eax
add edi, edx
imul eax, ebx, 0x4c957f2d
mov edx, 0x2df45158
add eax, edi
add ecx, 0x817e8b9b
adc eax, 0x16a65afc
xor ecx, 0x2ffe9f38
xor eax, 0x640722b9
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi], 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 + 0x20], 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 + 0x20]
bswap ecx
xor ecx, dword [esi]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mov dword [esi], ecx
mul edx
mov dword [esi + 0x20], eax
imul eax, ecx, 0x6e0ce934
add eax, edx
mov edx, 0xcb16f391
add ebx, eax
mov eax, edi
mul edx
mov ecx, edx
imul edx, edi, 0x41ab9930
bswap eax
add edx, ecx
mov ecx, dword [esi]
xor eax, ebx
mov ebx, eax
bswap ecx
imul edi, ecx, 0xcb16f391
mov ecx, dword [esi]
add edi, edx
bswap edi
xor edi, dword [esi + 0x20]
test cl, 0x20
cmovne ebx, edi
cmovne edi, eax
movzx eax, byte [esi + 0x91]
mov edx, edi
shld edx, ebx, cl
shld ebx, edi, cl
mov ecx, dword [esi + 0x40]
push eax
push ebx
movaps xmmword [esi], xmm0
call fcn.0051cb20
movaps xmm2, xmmword [esi]
add esp, 8
movaps xmm1, xmmword [esi + 0x1d0]
mov edi, dword [ebp + 8]
mov ebx, dword [esi + 0x290]
mulss xmm1, xmm0
unpcklps xmm1, xmm2
cmp dword [edi], 2
movaps xmmword [esi + 0x1d0], xmm1
jne 0x53b38a
movzx eax, byte [edi + 0xbd]
mov ecx, dword [esi + 0x320]
movsd xmm2, qword [edi + 0xa8]
movsd xmm1, qword [edi + 0xb0]
movss xmm4, dword [edi + 0x98]
movss xmm3, dword [edi + 0x9c]
movsd xmm0, qword [edi + 0xa0]
add ecx, dword [eax*4 + 0x53c15c]
jmp ecx
xorps xmm0, xmm0
test bh, bh
jne 0x53b18d
movq xmm1, xmm0
shufps xmm1, xmm4, 0xe2
cmp dword [edi], 2
movaps xmmword [esi + 0x1d0], xmm1
je 0x53b321
lea eax, [edi + 0x88]
lea ecx, [esi + 0x3a0]
mov edx, edi
push eax
call fcn.00555760
add esp, 4
movsd xmm4, qword [esi + 0x3a0]
movsd xmm1, qword [esi + 0x3a8]
movaps xmm5, xmmword [esi + 0x360]
movaps xmm6, xmmword [esi + 0x350]
jmp 0x53b503
test bh, bh
je 0x53bce1
shufps xmm1, xmm1, 0
cmp dword [edi], 2
movaps xmmword [esi + 0x1d0], xmm1
je 0x53b321
jmp 0x53b38a
unpcklps xmm1, xmm0
cmp dword [edi], 2
movaps xmmword [esi + 0x1d0], xmm1
jne 0x53b38a
jmp 0x53b321
subps xmm1, xmm4
movaps xmm0, xmm6
xor eax, eax
test bl, bl
movaps xmm2, xmm5
movaps xmmword [esi + 0x290], xmm4
mov edx, edi
minps xmm0, xmm1
cmpunordps xmm1, xmm1
sete al
xor ecx, ecx
test bh, bh
andps xmm6, xmm1
andnps xmm1, xmm0
movd xmm3, eax
sete cl
movzx eax, word [edi + 0xbc]
orps xmm1, xmm6
pinsrw xmm3, ecx, 2
lea ecx, [esi + 0xc0]
subps xmm1, xmmword [esi + 0x1d0]
pslld xmm3, 0x1f
psrad xmm3, 0x1f
mov word [esi + 0xac], ax
mov eax, dword [edi + 0xb8]
movaps xmm0, xmm1
maxps xmm2, xmm1
cmpunordps xmm0, xmm1
andps xmm1, xmm3
andps xmm5, xmm0
andnps xmm0, xmm2
mov dword [esi + 0xa8], eax
lea eax, [esi + 0xa8]
orps xmm0, xmm5
andnps xmm3, xmm0
orps xmm3, xmm1
movaps xmm1, xmm4
subps xmm1, xmmword [esi + 0x2b0]
movaps xmmword [esi + 0x320], xmm3
movlps qword [esi + 0x228], xmm1
addps xmm1, xmm3
movlps qword [esi + 0x230], xmm1
push eax
lea eax, [esi + 0x228]
push eax
call fcn.00530f60
add esp, 8
movaps xmm7, xmmword [esi + 0x290]
mov ecx, dword [edi + 0x100]
movsd xmm0, qword [edi + 0xd8]
movsd xmm6, qword [edi + 0xd0]
test bl, bl
addps xmm7, xmmword [esi + 0x320]
movss xmm1, dword [ecx + 0x1f4]
movss xmm4, dword [ecx + 0xa0]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0x55
movaps xmmword [esi + 0x310], xmm7
shufps xmm7, xmm7, 0x55
movss dword [esi], xmm1
je 0x53b6bc
cmp byte [esi + 0x92], 0
movaps xmm2, xmm0
je 0x53b63a
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x310]
movaps xmm3, xmm6
jne 0x53b63f
cmp byte [esi + 0x90], 0
jne 0x53b653
jmp 0x53b662
movaps xmm3, xmm6
je 0x53b62f
movaps xmm3, xmmword [esi + 0x290]
subss xmm3, xmm1
cmp byte [esi + 0x90], 0
je 0x53b662
movaps xmm5, xmm4
addss xmm5, xmm7
addss xmm5, dword [0x725a60]
movaps xmm1, xmm6
test bh, bh
shufps xmm1, xmm6, 0x55
je 0x53b6d5
cmp byte [esi + 0x93], 0
je 0x53b69d
addss xmm7, dword [esi]
movaps xmm5, xmm7
jne 0x53b69f
cmp byte [esi + 0x91], 0
je 0x53b6b7
addss xmm4, dword [esi + 0x310]
addss xmm4, dword [0x725a60]
unpcklps xmm4, xmm5
jmp 0x53b6e3
je 0x53b67f
movaps xmm1, xmmword [esi + 0x290]
shufps xmm1, xmm1, 0x55
subss xmm1, dword [esi]
cmp byte [esi + 0x91], 0
jne 0x53b688
unpcklps xmm2, xmm5
jmp 0x53b6e6
movaps xmm2, xmm0
movaps xmm3, xmm6
subss xmm2, dword [esi + 0x1d0]
movaps xmm1, xmm6
test bh, bh
shufps xmm1, xmm6, 0x55
jne 0x53b66d
movaps xmm4, xmm0
subps xmm4, xmmword [esi + 0x1d0]
movss xmm4, xmm2
movaps xmm2, xmm4
movaps xmm4, xmm0
cmp byte [esi + 0x3f], 0
unpcklps xmm3, xmm1
movaps xmm5, xmm6
maxps xmm5, xmm3
cmpunordps xmm3, xmm3
minps xmm4, xmm2
cmpunordps xmm2, xmm2
andps xmm6, xmm3
andnps xmm3, xmm5
andps xmm0, xmm2
andnps xmm2, xmm4
orps xmm3, xmm6
orps xmm2, xmm0
movlps qword [esi + 0x190], xmm3
movlps qword [esi + 0x198], xmm2
je 0x53bbbc
cmp byte [esi + 0x67], 0
je 0x53bbbc
movzx eax, byte [esi + 0x92]
or al, byte [esi + 0x93]
je 0x53bbbc
mov edi, dword [esi + 0x6c]
mov dword [esi], ecx
mov ecx, dword [esi + 0x68]
mov edx, 0x2df45158
movaps xmm2, xmmword [esi + 0x290]
xor edi, 0x38d01376
xor ecx, 0x452821e6
unpcklpd xmm2, xmmword [esi + 0x310]
mov eax, edi
mul edx
mov dword [esi + 0x20], eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
imul edx, ecx, 0x2df45158
bswap ecx
imul edi, edi, 0xb36a80d2
add edx, eax
mov eax, ecx
mov dword [esi + 0x50], 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 + 0x50]
bswap edi
xor edi, dword [esi + 0x20]
mov eax, edi
imul edi, edi, 0x5851f42d
mul ecx
mov ecx, eax
add edi, edx
imul eax, ebx, 0x4c957f2d
mov edx, 0x2df45158
add eax, edi
add ecx, 0x673f0922
adc eax, 0x1f9c3784
xor ecx, 0x94ab1920
xor eax, 0xca997a46
mov ebx, eax
shld ebx, ecx, 0x17
shld ecx, eax, 0x17
xor ecx, 0xff
mov eax, ecx
mul edx
mov dword [esi + 0x20], 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 + 0x50], 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 + 0x50]
bswap ecx
xor ecx, dword [esi + 0x20]
imul ebx, edi, 0xcf6654be
bswap edi
mov eax, ecx
mul edx
mov dword [esi + 0x20], 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
mov ebx, dword [ebp + 8]
imul edx, edx, 0xcb16f391
add edx, edi
mov edi, eax
bswap edx
xor edx, dword [esi + 0x20]
test cl, 0x20
cmovne edi, edx
cmovne edx, eax
lea eax, [ebx + 0xd0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, edx
shld eax, edi, cl
shld edi, edx, cl
mov edx, dword [ebx + 0xc0]
mov ecx, dword [esi]
movsd qword [esi + 0x218], xmm1
movsd qword [esi + 0x210], xmm0
mov dword [esi], edx
mov edx, dword [ebx + 0xc4]
movss xmm0, dword [ecx + 0x3c]
movss xmm1, dword [ecx + 0x40]
mov ecx, ebx
movzx ebx, byte [ebx + 0x108]
movups xmmword [esi + 0xa8], xmm2
mov dword [esi + 0x448], 3
mov ecx, dword [ecx + 0xc8]
mov dword [esi + 0x20], edx
mov edx, dword [esi + 0x40]
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x228]
push ebx
push 0x10100
lea ebx, [esi + 0xa8]
push ebx
push edi
push eax
push dword [esi + 0x50]
push dword [esi + 0x20]
push dword [esi]
lea eax, [esi + 0x210]
push eax
call fcn.00519df0
add esp, 0x24
cmp byte [esi + 0x275], 0
je 0x53ba91
xor edx, edx
cmp edx, 1
jbe 0x53b954
jmp 0x53bb95
mov byte [esi + edx + 0x94], 0
mov edx, dword [esi + 0x20]
cmp edx, 1
ja 0x53bb95
cmp byte [esi + edx + 0x9a], 0
lea ecx, [edx + 1]
je 0x53ba00
mov eax, dword [esi + 0x40]
mov dword [esi + 0x20], ecx
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov dword [esi], edx
test al, 8
jne 0x53b990
mov ebx, eax
add ebx, 0x10
jb 0x53b990
lock cmpxchg dword [ecx], ebx
je 0x53b9b3
nop word cs:[eax + eax]
mov dword [esi + 0x448], 4
mov dword [esi + 0x50], ecx
mov dword [esi + 0x280], edi
call fcn.00719890
mov edi, dword [esi + 0x280]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi]
movss xmm1, dword [edi + 0x2c8]
movss xmm0, dword [edi + 0x2cc]
test edx, edx
mov dword [esi + 0x1f8], edx
je 0x53ba40
cmp edx, 1
jne 0x53bf63
movss xmm1, dword [esi + 0x84]
lea eax, [esi + 0x8c]
subss xmm1, xmm0
movss dword [esi + 0x84], xmm1
movss xmm0, dword [edi + 0x2d4]
jmp 0x53ba62
test edx, edx
lea eax, [esi + 0x88]
mov dword [esi + 0x1f8], edx
je 0x53ba1f
cmp edx, 1
lea eax, [esi + 0x8c]
jne 0x53bfd0
mov dword [eax], 0
mov edx, ecx
cmp edx, 1
jbe 0x53b954
jmp 0x53bb95
movss xmm0, dword [esi + 0x80]
lea eax, [esi + 0x88]
subss xmm0, xmm1
movss dword [esi + 0x80], xmm0
movss xmm0, dword [edi + 0x2d0]
movss dword [eax], xmm0
mov edi, 0xfffffff0
lock xadd dword [ecx], edi
and edi, 0xfffffff2
cmp edi, 0x12
jne 0x53b940
mov dword [esi + 0x448], 4
call fcn.00719c10
mov edx, dword [esi]
jmp 0x53b940
mov eax, dword [esi + 0x40]
mov edi, dword [eax]
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
test al, 8
jne 0x53baad
mov edx, eax
add edx, 0x10
jb 0x53baad
lock cmpxchg dword [ecx], edx
je 0x53bac6
mov dword [esi + 0x448], 4
mov dword [esi], ecx
mov dword [esi + 0x20], edi
call fcn.00719890
mov edi, dword [esi + 0x20]
mov ecx, dword [esi]
movss xmm0, dword [edi + 0x384]
mov eax, 0xfffffff0
movaps xmmword [esi], xmm0
lock xadd dword [edi + 8], eax
and eax, 0xfffffff2
cmp eax, 0x12
jne 0x53baf2
mov dword [esi + 0x448], 4
call fcn.00719c10
movss xmm0, dword [0x7266d0]
mov dword [esi + 0x448], 0xffffffff
mulss xmm0, dword [esi]
movaps xmmword [esi + 0x20], xmm0
movsd xmm0, qword [esi + 0x88]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 8
movaps xmmword [esi + 0x280], xmm1
movss dword [esp + 4], xmm1
movaps xmmword [esi + 0x50], xmm0
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
add esp, 8
fstp dword [esi + 0x2dc]
movaps xmm0, xmmword [esi + 0x20]
ucomiss xmm0, dword [esi + 0x2dc]
ja 0x53bb8b
sub esp, 8
movaps xmm0, xmmword [esi + 0x280]
movss dword [esp + 4], xmm0
movaps xmm0, xmmword [esi + 0x50]
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
add esp, 8
movss xmm0, dword [0x7266d4]
fstp dword [esi + 0x2d8]
ucomiss xmm0, dword [esi + 0x2d8]
jbe 0x53bd01
xorps xmm0, xmm0
movlps qword [esi + 0x88], xmm0
mov eax, dword [esi + 0x25c]
lock dec dword [eax]
jne 0x53bbb5
mov ecx, dword [esi + 0x25c]
mov dword [esi + 0x448], 3
call fcn.00562540
movzx ebx, word [esi + 0x9a]
movaps xmm1, xmmword [esi + 0x2b0]
xorps xmm0, xmm0
mov edi, dword [esi + 0x2d0]
movsd xmm2, qword [esi + 0x88]
addps xmm1, xmm0
movsd qword [edi + 0x18], xmm2
movsd xmm2, qword [esi + 0x70]
lea eax, [edi + 0x28]
movaps xmmword [esi + 0x2b0], xmm1
movsd xmm1, qword [esi + 0x90]
movsd qword [edi], xmm2
movsd qword [edi + 0x20], xmm1
movsd xmm1, qword [esi + 0x80]
movsd qword [edi + 0x10], xmm1
movsd xmm1, qword [esi + 0x78]
movsd qword [edi + 8], xmm1
push 0x110
lea ecx, [esi + 0xc0]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x68]
movaps xmm0, xmmword [esi + 0x1d0]
movaps xmm2, xmmword [esi + 0x290]
movaps xmm1, xmmword [esi + 0x310]
mov dword [edi + 0x13c], eax
mov eax, dword [esi + 0x6c]
mov dword [edi + 0x138], eax
movzx eax, byte [esi + 0x1b]
mov word [edi + 0x168], bx
movlps qword [edi + 0x140], xmm0
mov byte [edi + 0x16f], al
movlps qword [edi + 0x148], xmm2
movlps qword [edi + 0x150], xmm1
movaps xmm1, xmmword [esi + 0x2b0]
movaps xmm2, xmmword [esi + 0x320]
movzx eax, byte [esi + 0x3f]
movlps qword [edi + 0x158], xmm1
addps xmm2, xmm1
movaps xmm1, xmmword [esi + 0x3f0]
movlps qword [edi + 0x160], xmm2
mov byte [edi + 0x16e], al
mov eax, dword [esi + 0x1f4]
movss dword [edi + 0x16a], xmm1
lock dec dword [eax]
jne 0x53bccd
mov ecx, dword [esi + 0x1f4]
mov dword [esi + 0x448], 0xffffffff
call fcn.00562540
mov eax, dword [esi + 0x440]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movq xmm1, xmm1
xorps xmm0, xmm0
shufps xmm1, xmm0, 0xe2
cmp dword [edi], 2
movaps xmmword [esi + 0x1d0], xmm1
je 0x53b321
jmp 0x53b38a
sub esp, 8
movaps xmm0, xmmword [esi + 0x280]
movss dword [esp + 4], xmm0
movaps xmm0, xmmword [esi + 0x50]
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
add esp, 8
fstp dword [esi + 0x2d4]
xorps xmm1, xmm1
mov edx, 8
movss xmm0, dword [esi + 0x2d4]
movaps xmm3, xmmword [esi + 0x50]
mov eax, dword [esi + 0x40]
movaps xmm2, xmm0
mov edi, dword [eax]
xor eax, eax
cmpnless xmm2, xmm1
movss xmm1, dword [0x7255e0]
andps xmm0, xmm2
lea ecx, [edi + 8]
andnps xmm2, xmm1
movaps xmm1, xmmword [esi + 0x20]
orps xmm2, xmm0
movaps xmm0, xmm3
shufps xmm2, xmm2, 0
divps xmm0, xmm2
movaps xmm2, xmmword [esi]
shufps xmm1, xmm1, 0
unpcklps xmm2, xmm2
mulps xmm1, xmm0
movaps xmm0, xmmword [esi + 0x2b0]
subps xmm3, xmm1
mulps xmm2, xmm3
movlps qword [esi + 0x88], xmm3
subps xmm0, xmm2
movlps qword [esi + 0x80], xmm0
lock cmpxchg dword [edi + 8], edx
je 0x53bdb8
mov dword [esi + 0x448], 4
mov dword [esi], ecx
mov dword [esi + 0x20], edi
call fcn.007188f0
mov edi, dword [esi + 0x20]
mov ecx, dword [esi]
mov dword [edi + 0x4a0], 2
mov eax, dword [edi + 0x480]
or eax, dword [edi + 0x484]
jne 0x53bddd
cmp dword [edi + 0x488], 0
je 0x53be5d
mov dword [edi + 0x484], 0
mov dword [edi + 0x480], 0
mov dword [edi + 0x488], 0
mov eax, dword [edi + 0x498]
test eax, eax
je 0x53be5d
mov dword [esi], ecx
mov ecx, dword [edi + 0x490]
mov edx, dword [edi + 0x494]
mov dword [esi + 0xac], edx
mov dword [esi + 0xa8], ecx
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb8], 0
lea edx, [esi + 0xa8]
mov ecx, dword [edi + 0x49c]
mov dword [esi + 0x448], 6
push edx
push eax
call dword [ecx + 0x14]
add esp, 8
mov ecx, dword [esi]
xor edx, edx
mov eax, 8
lock cmpxchg dword [ecx], edx
je 0x53bb95
mov dword [esi + 0x448], 4
call fcn.00719150
jmp 0x53bb95
cmp dword [esi + 0x1c], 2
je 0x53aede
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x53beaf
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x53c036
mov dword [0x919820], eax
push 0x28
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x53c036
mov ecx, eax
mov eax, dword [esi + 0x1c]
movaps xmm0, xmmword [esi + 0x200]
mov edx, dword [esi + 0xa4]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov dword [ecx + 4], eax
mov eax, dword [esi + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x2f0]
mov dword [ecx + 0xc], eax
movlps qword [ecx + 0x10], xmm0
movaps xmm0, xmmword [esi + 0x300]
mov eax, dword [esi + 0x50]
movss dword [ecx + 0x18], xmm0
movdqa xmm0, xmmword [esi + 0x2e0]
movd dword [ecx + 0x1c], xmm0
mov word [ecx + 0x20], ax
mov eax, dword [esi]
mov word [ecx + 0x22], bx
mov word [ecx + 0x24], ax
mov word [ecx + 0x26], di
lock dec dword [edx]
mov edi, dword [esi + 0x280]
jne 0x53bf37
mov ebx, ecx
mov ecx, dword [edi - 8]
mov edx, dword [edi - 4]
call fcn.004f2ff0
mov ecx, ebx
mov dword [edi - 0x18], 0
mov dword [edi - 0x14], 0x561a70
mov dword [edi - 0x10], ecx
mov dword [esi], ecx
mov ecx, dword [esi + 0x1d0]
mov dword [edi - 0xc], 0x741588
mov dword [edi - 8], 0x561b20
jmp 0x53a4ac
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x210]
lea eax, [esi + 0x1f8]
mov dword [esi + 0xa8], 0x740d34
mov dword [esi + 0xac], 1
mov dword [esi + 0xb8], 0
mov edx, 0x740808
mov dword [esi + 0x448], 5
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0x210], eax
mov dword [esi + 0x214], 0x4262e0
mov dword [esi + 0xb4], 1
call fcn.00709f70
jmp 0x53c045
ud2
lea ecx, [esi + 0x210]
lea eax, [esi + 0x1f8]
mov dword [esi + 0xa8], 0x740d34
mov dword [esi + 0xac], 1
mov dword [esi + 0xb8], 0
mov edx, 0x740e68
mov dword [esi + 0x448], 4
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0x210], eax
mov dword [esi + 0x214], 0x4262e0
mov dword [esi + 0xb4], 1
call fcn.00709f70
jmp 0x53c045
mov ecx, 4
mov edx, 0x28
call fcn.00709d20
ud2