Function at 0x534b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4c0
mov esi, esp
mov ebx, ecx
mov eax, dword [0x64a040]
xor eax, ebp
mov dword [esi + 0x4b8], eax
mov eax, dword [ecx + 0x60]
mov dword [esi + 0x2c], eax
mov eax, dword [eax + 8]
mov dword [esi + 0x4c], eax
lea eax, [esi + 0xe8]
push 0x388
push 0xff
push eax
call fcn.00582870
add esp, 0xc
mov dword [esi + 0xe8], 0
mov edi, dword [ebx + 0x6c]
cmp edi, dword [ebx + 0x70]
mov dword [esi + 0x24], ebx
je 0x535076
lea eax, [ebx + 0x68]
mov dword [esi + 0x38], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0x40], eax
jmp 0x534e87
mov bl, 1
jmp 0x534bd1
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp dword [edi + 0x28], 1
je 0x535a1d
mov edx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
cmp eax, edx
sbb ecx, edi
jl 0x535055
xor ebx, ebx
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0xd0], xmm0
movdqa xmmword [esi + 0xc0], xmm0
movdqa xmmword [esi + 0xb0], xmm0
movdqa xmmword [esi + 0xa0], xmm0
movdqa xmmword [esi + 0x90], xmm0
movdqa xmmword [esi + 0x80], xmm0
movdqa xmmword [esi + 0x70], xmm0
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x6c]
cmp eax, dword [ecx + 0x70]
lea edi, [esi + 0x70]
je 0x5359dc
cmp byte [eax + 0x59], 0
jne 0x5359af
mov ecx, dword [esi + 0x38]
push 0
push edi
call fcn.00535f20
test bl, bl
jne 0x5355b2
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xd0], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0xd4], eax
mov ecx, dword [esi + 0x24]
mov edx, edi
call fcn.00535db0
mov edx, esp
sub esp, 0x70
mov edi, esp
mov dword [esi + 0x20], esp
movaps xmm0, xmmword [esi + 0x70]
movups xmmword [edi], xmm0
lea ecx, [esi + 0x80]
movups xmm0, xmmword [ecx + 0x29]
movups xmmword [edi + 0x39], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [edi + 0x30], xmm0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [edi + 0x20], xmm1
movups xmmword [edi + 0x10], xmm0
mov eax, dword [esi + 0xc0]
mov dword [esi + 0x18], eax
mov dword [esi + 0xc0], 0
movzx eax, word [ecx + 0x48]
mov word [edi + 0x58], ax
movzx eax, byte [ecx + 0x4a]
mov byte [edi + 0x5a], al
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x10], eax
mov dword [esi + 0xcc], 0
mov eax, dword [esi + 0xd4]
mov dword [esi + 0x1c], eax
mov dword [edi + 0x64], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x30], eax
mov dword [edi + 0x60], eax
mov eax, dword [esi + 0xdc]
mov dword [esi + 0x28], eax
mov dword [edi + 0x6c], eax
movups xmm0, xmmword [edi]
movups xmm2, xmmword [edi + 0x39]
movups xmm3, xmmword [edi + 0x30]
movups xmm1, xmmword [edi + 0x10]
movups xmm4, xmmword [edi + 0x20]
mov dword [edi + 0x50], 0
movzx eax, word [edi + 0x58]
mov word [esi + 0x6c], ax
movzx eax, byte [edi + 0x5a]
mov byte [esi + 0x6e], al
movaps xmmword [esi + 0x50], xmm0
movups xmmword [esi + 0x499], xmm2
movaps xmmword [esi + 0x490], xmm3
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x3c], eax
mov dword [esi + 0xd8], 0
movaps xmmword [esi + 0x480], xmm4
movaps xmmword [esi + 0x470], xmm1
mov dword [edi + 0x5c], 0
mov dword [edi + 0x68], 0
mov eax, dword [esi + 0x2c]
cmp dword [eax], 0
mov dword [esi + 0xc], edx
mov dword [esi + 0x14], edi
je 0x5357c3
mov ebx, dword [eax + 4]
mov eax, dword [ebx]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
inc eax
cmp eax, ecx
mov edx, eax
mov edi, 0
cmove edx, edi
cmp dword [esi + 0x34], edx
je 0x53571f
cmp eax, ecx
cmove eax, edi
mov dword [ebx + 4], eax
cmp ecx, eax
jbe 0x5359ba
mov esp, dword [esi + 0x20]
mov ecx, dword [ebx + 0xc]
imul eax, eax, 0x70
movaps xmm0, xmmword [esi + 0x50]
movups xmmword [ecx + eax], xmm0
movaps xmm0, xmmword [esi + 0x470]
movaps xmm1, xmmword [esi + 0x480]
movups xmmword [ecx + eax + 0x10], xmm0
movups xmmword [ecx + eax + 0x20], xmm1
movaps xmm0, xmmword [esi + 0x490]
movups xmmword [ecx + eax + 0x30], xmm0
movdqu xmm0, xmmword [esi + 0x499]
movdqu xmmword [ecx + eax + 0x39], xmm0
mov edx, dword [esi + 0x18]
mov dword [ecx + eax + 0x50], edx
movzx edx, byte [esi + 0x6e]
mov byte [ecx + eax + 0x5a], dl
movzx edx, word [esi + 0x6c]
mov word [ecx + eax + 0x58], dx
mov edx, dword [esi + 0x10]
mov dword [ecx + eax + 0x5c], edx
mov edx, dword [esi + 0x30]
mov dword [ecx + eax + 0x60], edx
mov edx, dword [esi + 0x1c]
mov dword [ecx + eax + 0x64], edx
mov edx, dword [esi + 0x3c]
mov dword [ecx + eax + 0x68], edx
mov edx, dword [esi + 0x28]
mov dword [ecx + eax + 0x6c], edx
mov edx, dword [esi + 0x2c]
mov eax, dword [edx + 8]
inc eax
mov dword [edx + 8], eax
mov ecx, dword [edx + 0xc]
cmp ecx, eax
cmova eax, ecx
mov dword [edx + 0xc], eax
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x534f8e
mov ebx, dword [edi + 0x5c]
test ebx, ebx
jne 0x534f68
mov edi, dword [edi + 0x50]
test edi, edi
jne 0x534fb9
mov esp, dword [esi + 0xc]
mov ebx, dword [esi + 0x24]
mov eax, dword [esi + 0xd8]
test eax, eax
jne 0x534f77
mov edi, dword [esi + 0xcc]
test edi, edi
jne 0x534f59
mov edi, dword [esi + 0xc0]
test edi, edi
jne 0x534fd6
mov edi, dword [ebx + 0x6c]
cmp edi, dword [ebx + 0x70]
je 0x535055
mov ebx, dword [edi + 0x50]
test ebx, ebx
je 0x53599a
mov ecx, dword [ebx + 0xc]
cmp ecx, 0x57b700
je 0x534eb3
call dword [0x6445dc]
push 0
push ebx
call ecx
add esp, 8
test al, al
jne 0x534ba2
mov ebx, dword [ebp + 8]
cmp byte [ebx + 8], 0
jne 0x534bb0
mov ecx, dword [fcn.0056d830]
cmp ecx, 0x56aca0
jne 0x534fa5
mov dword [esi + 0x74], 0
mov dword [esi + 0x70], 0
lea eax, [esi + 0x70]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov eax, 0x7bd05af6
cmp eax, edx
mov eax, 0x863
mov ebx, ecx
sbb eax, ecx
jl 0x535abf
mov eax, edx
mov ecx, 0xf4240
mul ecx
imul ecx, ebx, 0xf4240
add ecx, edx
push dword [0x64f6a4]
push dword [0x64f6a0]
push ecx
push eax
call fcn.005a13d0
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov ebx, dword [ebp + 8]
cmp byte [ebx + 8], 0
jne 0x535a0d
test ebx, ebx
je 0x5359cd
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov byte [ebx + 8], 1
jmp 0x534bb5
lock dec dword [edi + 4]
jne 0x534e6d
jmp 0x5356b2
lock dec dword [ebx + 4]
jne 0x534e40
jmp 0x53567b
lock dec dword [eax]
jne 0x534e5f
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x534e5f
lock dec dword [eax]
jne 0x534e35
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x534e35
call dword [0x6445dc]
lea eax, [esi + 0x70]
push eax
call ecx
add esp, 4
jmp 0x534f33
lock dec dword [edi]
jne 0x534e4b
mov ecx, dword [edi + 8]
call dword [0x6445dc]
push edi
call ecx
add esp, 4
jmp 0x534e4b
lock dec dword [edi]
jne 0x534e7b
mov ecx, dword [edi + 8]
call dword [0x6445dc]
push edi
call ecx
add esp, 4
jmp 0x534e7b
shr ebx, 1
imul eax, ebx, 0x70
mov ecx, dword [esi + 0x40]
lea edi, [eax + ecx]
add edi, 0xffffff90
test edi, edi
je 0x535ab0
dec ebx
mov ecx, edi
call fcn.00536280
add edi, 0xffffff90
test ebx, ebx
jne 0x535001
mov eax, dword [esi + 0xe8]
and eax, 1
jmp 0x53506b
mov byte [esi + 0x470], 0
xor edx, edx
dec edx
xor eax, eax
mov ecx, edx
mov dword [esi + 0x18], edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x1c], edx
jmp 0x53512c
mov edx, ecx
cmp byte [esi + 0x14], 0
setne cl
cmp cl, al
je 0x535289
jmp 0x5351b1
mov ebx, dword [esi + 0xe8]
xor eax, eax
test bl, 1
jne 0x535839
cmp ebx, 2
jae 0x534ff3
test eax, eax
mov ebx, dword [esi + 0x24]
jne 0x535826
mov dword [esi + 0xe8], 0
mov eax, dword [ebx]
cmp dword [eax + 0x4c], 0x5537a0
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x480], xmm0
movdqa xmmword [esi + 0x470], xmm0
cmp dword [eax + 0x18], 0x503800
mov eax, dword [ebx + 0x6c]
cmp eax, dword [ebx + 0x70]
je 0x535023
cmp byte [ebx + 0xa4], 0
je 0x535023
cmp dword [ebx + 0x78], 0
mov ecx, dword [ebx + 0x64]
mov ecx, dword [ecx + 0x20]
jne 0x535a9b
mov edx, dword [ebx + 8]
movzx ebx, byte [edx + 0x35]
mov dword [esi + 0xc], 0
mov edi, dword [eax + 0x28]
xor edx, edx
cmp edi, 2
cmovne edx, edi
cmp bl, cl
cmovae edx, edi
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
mov ebx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x470], ecx
mov dword [esi + 0x474], edi
mov dword [esi + 0x18], eax
mov dword [esi + 0x478], eax
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x47c], ebx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x480], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x484], edx
mov al, 1
mov ebx, dword [esi + 0x24]
mov byte [esi + 0x488], al
mov ebx, dword [ebx + 0x5c]
test ebx, ebx
mov dword [esi + 0x14], eax
jne 0x5358da
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x470]
mov edi, dword [esi + 0x474]
mov ebx, dword [esi + 0x24]
movzx eax, byte [ebx + 0x110]
cmp byte [esi + 0x14], 0
je 0x53503f
test al, al
je 0x53503f
mov eax, dword [ebx + 0xf8]
mov edx, ecx
xor eax, ecx
mov ecx, dword [ebx + 0xfc]
xor ecx, edi
or ecx, eax
jne 0x5351b1
mov eax, dword [ebx + 0x100]
xor eax, dword [esi + 0x18]
mov ecx, dword [ebx + 0x104]
xor ecx, dword [esi + 0x1c]
or ecx, eax
jne 0x5351b1
mov eax, dword [esi + 0xc]
cmp dword [ebx + 0x108], eax
jne 0x5351b1
mov eax, dword [esi + 0x10]
cmp dword [ebx + 0x10c], eax
je 0x535289
mov dword [esi + 0x28], edx
mov dword [ebx + 0xf8], edx
mov dword [ebx + 0xfc], edi
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x100], eax
mov edx, dword [esi + 0x1c]
mov dword [ebx + 0x104], edx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x108], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10c], eax
mov ecx, dword [esi + 0x14]
mov byte [ebx + 0x110], cl
lea eax, [esi + 0x489]
mov eax, dword [eax]
mov dword [esi + 0x20], eax
lea eax, [esi + 0x489]
mov eax, dword [eax + 3]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x111], eax
mov eax, dword [esi + 0x30]
mov dword [ebx + 0x114], eax
mov eax, dword [ebx + 0x58]
mov dword [esi + 0x20], eax
mov dword [esi + 0x74], edi
mov eax, dword [esi + 0x28]
mov dword [esi + 0x70], eax
mov dword [esi + 0x7c], edx
mov eax, dword [esi + 0x18]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x84], eax
mov byte [esi + 0x88], cl
lea eax, [esi + 0x489]
mov ecx, dword [eax + 3]
mov dword [esi + 0x8c], ecx
mov eax, dword [eax]
mov dword [esi + 0x89], eax
sub esp, 0x28
movdqu xmm0, xmmword [esi + 0x70]
movups xmm1, xmmword [esi + 0x80]
movups xmmword [esp + 0x18], xmm1
movdqu xmmword [esp + 8], xmm0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [esi + 0x20]
call fcn.0052bcc0
cmp dword [esi + 0xe8], 0
mov ebx, dword [esi + 0x2c]
jne 0x5359fa
test ebx, ebx
je 0x535483
cmp dword [esi + 0x4c], 0
jne 0x535483
cmp dword [ebx + 8], 0
je 0x535483
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x24], eax
test eax, eax
je 0x535483
cmp byte [ebx + 0x48], 0
jne 0x535507
mov edi, dword [ebx]
mov ecx, dword [edi]
mov ebx, dword [edi + 0x10]
inc ecx
xor eax, eax
cmp ecx, ebx
cmove ecx, eax
cmp ebx, ecx
jbe 0x5359c0
mov edx, dword [edi + 0xc]
imul ecx, ecx, 0x70
lea eax, [edx + ecx]
mov edi, dword [edx + ecx + 0x44]
mov dword [esi + 0x28], edi
mov edi, dword [edx + ecx + 0x18]
mov edx, dword [edx + ecx + 0x1c]
mov ecx, edi
or ecx, edx
mov dword [esi + 0xc], 0
mov ebx, 0
jne 0x5354ab
mov dword [esi + 0x14], ebx
mov ecx, dword [eax + 0x60]
mov edi, dword [eax + 0x64]
mov eax, edi
shr eax, 8
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], ecx
shld edi, ecx, 0x18
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x20]
mov ebx, dword [esi + 0x24]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov dword [esi + 0x1c], ecx
sub ebx, ecx
sar ebx, 4
cmp ebx, edx
jbe 0x53599d
cmp byte [esi + 0x20], 0
jne 0x5359eb
mov ebx, edx
mov ecx, dword [esi + 0x18]
shld ecx, edi, 8
shl edi, 8
movzx edx, byte [esi + 0x10]
or edx, edi
mov dword [esi + 0x18], ebx
shl ebx, 4
mov edi, eax
shr edi, 0xe
shr eax, 0x13
mov eax, dword [eax*4 + 0x6527ec]
bt eax, edi
mov edi, dword [esi + 0x1c]
lea eax, [edi + ebx]
mov dword [esi + 0x20], eax
mov eax, dword [edi + ebx + 4]
mov dword [esi + 0x10], eax
mov ebx, dword [edi + ebx + 8]
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], edx
mov eax, dword [esi + 0xc]
mov dword [esi + 0xf0], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0xf4], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0xf8], eax
jb 0x53549a
mov edi, dword [esi + 0x2c]
mov eax, edi
shr eax, 0x15
mov byte [eax + 0x65a7ec], 1
mov dword [esi + 0x100], edi
lea eax, [esi + 0x70]
mov ecx, dword [esi + 0x20]
lea edx, [esi + 0xe8]
push edx
push eax
call fcn.0051d710
mov eax, dword [esi + 0x100]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x6527ec]
bt edx, ecx
mov edi, dword [esi + 0x18]
jae 0x535415
push eax
call fcn.00506f30
add esp, 4
cmp dword [esi + 0x10], ebx
jne 0x535483
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
sar edx, 2
cmp edx, edi
jbe 0x53599d
inc dword [ecx + edi*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
sar edx, 2
cmp edx, edi
jbe 0x53599d
cmp dword [ecx + edi*4], 1
jne 0x535483
mov ecx, dword [eax + 0x14]
mov edx, ecx
bts edx, edi
mov dword [eax + 0x14], edx
test ecx, ecx
jne 0x535483
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x535483
mov eax, dword [ecx + 0x40]
add ecx, 0x40
nop dword [eax + eax]
mov edx, eax
and edx, 0xfffffffd
lock cmpxchg dword [ecx], edx
jne 0x535470
test al, 4
jne 0x5359c3
mov ecx, dword [esi + 0x4b8]
xor ecx, ebp
call fcn.005810d5
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov edi, dword [esi + 0x2c]
push edi
call fcn.00506e00
add esp, 4
jmp 0x5353d4
cmp dword [eax + 0x28], 0
jne 0x5354fd
mov ecx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0xc], ecx
add ecx, 1
mov dword [esi + 0x14], ebx
adc ebx, 0x80000000
cmp ecx, 2
sbb ebx, 0
jb 0x535b4e
add edi, dword [esi + 0xc]
adc edx, dword [esi + 0x14]
seto bl
mov byte [esi + 0x14], bl
mov ecx, edx
sar ecx, 0x1f
test bl, bl
lea ebx, [ecx - 0x80000000]
cmove ecx, edi
mov dword [esi + 0xc], ecx
cmp byte [esi + 0x14], 0
cmove ebx, edx
jmp 0x535312
mov dword [esi + 0xc], edi
mov ebx, edx
jmp 0x535312
mov eax, dword [ebx]
mov edx, dword [eax]
mov edi, dword [eax + 0x10]
inc edx
xor ecx, ecx
cmp edx, edi
cmovne ecx, edx
cmp edi, ecx
jbe 0x535b8f
imul ecx, ecx, 0x70
add ecx, dword [eax + 0xc]
lea eax, [esi + 0xe8]
push eax
call fcn.005469e0
cmp byte [ebx + 0x48], 0
je 0x535b92
mov edi, dword [esi + 0xe8]
mov eax, dword [esi + 0xec]
mov ecx, dword [ebx + 0x34]
mov edx, eax
xor edx, ecx
mov ebx, dword [ebx + 0x30]
mov dword [esi + 0x24], edi
xor edi, ebx
or edi, edx
je 0x53588c
cmp dword [esi + 0x24], ebx
sbb eax, ecx
mov eax, dword [esi + 0x2c]
mov edi, ecx
jae 0x535483
mov ecx, dword [eax + 0x18]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x10], 0
cmp dword [eax + 8], 0
jne 0x535bb8
mov cl, 1
mov dword [esi + 0x20], ecx
mov dword [esi + 0x18], 0xffffff
xor edi, edi
dec edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x28], edi
jmp 0x535334
lea ecx, [esi + 0xe8]
push edi
call fcn.0050b6f0
jmp 0x534e51
mov eax, dword [esi + 0xe8]
mov edx, 8
test al, 1
mov ebx, dword [esi + 0x24]
je 0x5355ca
mov edx, dword [esi + 0xf4]
mov ecx, eax
shr ecx, 1
cmp ecx, edx
je 0x5355a1
lea edx, [esi + 0xf0]
test al, 1
je 0x5355e2
mov edx, dword [esi + 0xf0]
imul eax, ecx, 0x70
add eax, edx
mov edi, 0
je 0x5359cd
movaps xmm0, xmmword [esi + 0x70]
movups xmmword [eax], xmm0
lea edx, [esi + 0x80]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax + 0x20], xmm1
movups xmm0, xmmword [edx + 0x20]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [edx + 0x29]
movups xmmword [eax + 0x39], xmm0
mov ecx, dword [esi + 0xc0]
mov dword [eax + 0x50], ecx
mov dword [esi + 0xc0], edi
mov cl, byte [edx + 0x4a]
mov byte [eax + 0x5a], cl
movzx ecx, word [edx + 0x48]
mov word [eax + 0x58], cx
mov ecx, dword [esi + 0xcc]
mov dword [eax + 0x5c], ecx
mov dword [esi + 0xcc], edi
movq xmm0, qword [esi + 0xd0]
movq qword [eax + 0x60], xmm0
mov ecx, dword [esi + 0xd8]
mov dword [eax + 0x68], ecx
mov dword [esi + 0xd8], edi
mov ecx, dword [esi + 0xdc]
mov dword [eax + 0x6c], ecx
add dword [esi + 0xe8], 2
jmp 0x534e51
mov ecx, dword [ebx]
mov eax, dword [ebx + 0xc]
cmp dword [ecx + 8], 0x5b5540
test eax, eax
je 0x535694
lock dec dword [eax]
je 0x53598c
mov eax, dword [ebx + 8]
test eax, eax
je 0x5356a4
lock dec dword [eax]
je 0x53584a
push ebx
call fcn.0057dc2b
add esp, 4
jmp 0x534e40
mov ecx, dword [edi]
mov eax, dword [edi + 0xc]
cmp dword [ecx + 8], 0x5b5540
test eax, eax
je 0x5356cb
lock dec dword [eax]
je 0x53597e
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x5356d7
lock dec dword [ebx]
je 0x5356e8
push edi
call fcn.0057dc2b
add esp, 4
mov ebx, dword [esi + 0x24]
jmp 0x534e6d
mov eax, dword [ebx + 0x10]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x6527ec]
bt edx, ecx
jb 0x535d2d
mov dword [ebx + 0x10], 0
lea ecx, [ebx + 4]
call fcn.00406d90
push ebx
call fcn.0057dc2b
add esp, 4
jmp 0x5356d7
mov ebx, dword [esi + 0x2c]
mov eax, dword [ebx + 8]
lea ecx, [esi + 0x68]
mov dword [ecx], eax
push ecx
call fcn.00505000
add esp, 4
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x10]
mov ecx, eax
shr ecx, 1
add eax, ecx
add eax, 2
mov dword [esi + 0x34], eax
push 0x18
call fcn.0057dc30
add esp, 4
mov ebx, eax
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
imul eax, dword [esi + 0x34], 0x70
mov dword [esi + 0x48], eax
push eax
call fcn.0057f5ae
add esp, 4
mov ecx, eax
mov dword [esi + 0x44], eax
push dword [esi + 0x48]
xor eax, eax
push eax
push ecx
call fcn.00582870
add esp, 0xc
mov eax, dword [esi + 0x44]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x10], eax
xor ecx, ecx
mov dword [ebx + 0x14], ecx
cmp eax, 0x2492492
jae 0x5359bd
mov eax, dword [edi + 0x14]
mov dword [edi + 0x14], ebx
test eax, eax
jne 0x535ba1
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 4]
mov ebx, dword [eax + 0x14]
mov dword [ecx + 4], ebx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x10]
inc eax
xor edi, edi
jmp 0x534d84
push 0x18
call fcn.0057dc30
add esp, 4
mov ebx, eax
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov eax, 0x1c0
push eax
call fcn.0057f5ae
add esp, 4
mov edi, eax
mov eax, 0x1c0
push eax
xor eax, eax
push eax
push edi
call fcn.00582870
add esp, 0xc
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], 4
mov dword [esi + 0x34], 0
xor eax, eax
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x2c]
mov dword [eax], ebx
mov dword [eax + 4], ebx
xor eax, eax
inc eax
mov ecx, 4
jmp 0x534d6f
push dword [esi + 0xf0]
call fcn.0057dc2b
add esp, 4
jmp 0x535076
xor eax, eax
inc eax
mov ecx, dword [esi + 0xf0]
mov dword [esi + 0x40], ecx
jmp 0x535066
mov dword [esi + 0x18], eax
mov eax, dword [eax + 0x10]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x6527ec]
bt edx, ecx
jb 0x535d3b
mov eax, dword [esi + 0x18]
mov dword [eax + 0x10], 0
lea ecx, [eax + 4]
call fcn.00406d90
push dword [esi + 0x18]
call fcn.0057dc2b
add esp, 4
jmp 0x5356a4
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + 0x38]
mov eax, dword [ecx + 0x3c]
mov ebx, dword [esi + 0xf4]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x24], eax
xor ebx, eax
mov eax, dword [esi + 0xf0]
mov edi, eax
mov dword [esi + 0x18], edx
xor edi, edx
or edi, ebx
jne 0x535d49
mov eax, dword [esi + 0xf8]
cmp eax, dword [ecx + 0x40]
mov eax, ecx
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
jl 0x53556d
jmp 0x535483
mov eax, dword [esi + 0x24]
cmp byte [eax + 0xa4], 0
je 0x535140
mov ecx, dword [esi + 0x24]
call fcn.0044bc80
mov byte [esi + 0x14], al
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
mov dword [esi + 0xc], ecx
call dword [0x6445dc]
sub esp, 0x2c
movaps xmm0, xmmword [esi + 0x470]
movaps xmm1, xmmword [esi + 0x480]
movups xmmword [esp + 0x18], xmm1
movups xmmword [esp + 8], xmm0
movzx eax, byte [esi + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
lea edi, [esi + 0x70]
mov dword [esp], edi
mov ecx, ebx
call dword [esi + 0xc]
movdqu xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
movaps xmmword [esi + 0x480], xmm1
movdqa xmmword [esi + 0x470], xmm0
mov eax, dword [esi + 0x478]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x47c]
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 0x480]
mov eax, dword [esi + 0x484]
mov dword [esi + 0x10], eax
mov al, byte [esi + 0x488]
mov dword [esi + 0x14], eax
jmp 0x535140
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x5356cb
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x535694
int3
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x62a183
call fcn.005aacb0
int3
mov eax, dword [esi + 0x24]
dec dword [eax + 0x78]
jmp 0x534c26
int3
int3
int3
call fcn.005f0860
jmp 0x535483
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
push 0x62a183
call fcn.005aacb0
push str....._third_partylibc_srcinclude_vector:618:_assertion__empty___failed:_front___called_on_an_empty_vector_n
push 0x62a183
call fcn.005aacb0
push str....._third_partylibc_srcincludeoptional:806:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
push 0x62a183
call fcn.005aacb0
lea ecx, [esi + 0xe8]
call fcn.0050ae50
mov ebx, dword [esi + 0x2c]
jmp 0x535299
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
jmp 0x534bb5
mov edx, dword [edi + 0x24]
mov ebx, dword [edi + 0x20]
mov dword [esi + 0x14], ebx
add ebx, 1
mov dword [esi + 0xc], ebx
mov ebx, edx
adc ebx, 0x80000000
cmp dword [esi + 0xc], 2
sbb ebx, 0
mov ebx, dword [edi + 0x18]
mov dword [esi + 0xc], ebx
mov ebx, dword [edi + 0x1c]
jae 0x535a6d
mov edi, dword [esi + 0xc]
xor edi, dword [esi + 0x14]
xor ebx, edx
or ebx, edi
je 0x5359ac
mov edi, 0x80000000
xor ebx, ebx
inc ebx
shr edx, 0x1f
not edx
add edx, ebx
adc edi, 0xffffffff
jmp 0x534bc5
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 0x14]
mov dword [esi + 0xc], edi
sbb ebx, edx
seto byte [esi + 0x14]
mov edx, ebx
sar edx, 0x1f
cmp byte [esi + 0x14], 0
lea edi, [edx - 0x80000000]
cmove edx, dword [esi + 0xc]
cmp byte [esi + 0x14], 0
cmove edi, ebx
jmp 0x534bc5
mov edx, dword [ebx + 8]
mov bl, byte [edx + 0x35]
xor edx, edx
cmp bl, cl
setae dl
mov dword [esi + 0xc], edx
jmp 0x5350db
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
push 0x62a183
call fcn.005aacb0
mov ecx, dword [0x64f6a0]
mov dword [esi + 0xc], ecx
mov eax, dword [0x64f6a4]
mov dword [esi + 0x14], eax
push eax
push ecx
mov dword [esi + 0x18], ebx
push ebx
push edx
mov dword [esi + 0x10], edx
call fcn.005a13d0
mov dword [esi + 0x28], edx
mov ebx, eax
mov edx, dword [esi + 0xc]
mul edx
mov dword [esi + 0x20], eax
mov eax, ebx
mov ecx, ebx
imul ecx, dword [esi + 0x14]
add edx, ecx
mov ecx, dword [esi + 0x28]
imul ebx, ecx, 0xf4240
mov dword [esi + 0x1c], ebx
imul ecx, dword [esi + 0xc]
add ecx, edx
mov edx, ecx
mov ebx, dword [esi + 0x10]
sub ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
sbb ecx, edx
mov edx, 0xf4240
mul edx
mov dword [esi + 0x18], eax
add edx, dword [esi + 0x1c]
mov dword [esi + 0x10], edx
mov eax, ebx
mov edx, 0xf4240
mul edx
imul ecx, ecx, 0xf4240
add edx, ecx
push dword [esi + 0x14]
push dword [esi + 0xc]
push edx
push eax
call fcn.005a13d0
add eax, dword [esi + 0x18]
adc edx, dword [esi + 0x10]
jmp 0x534f2a
xor ecx, ecx
inc ecx
mov ebx, edi
add ebx, ecx
mov ecx, edx
adc ecx, 0x80000000
mov dword [esi + 0x18], ecx
mov dword [esi + 0x10], 0
xor ecx, ecx
inc ecx
cmp ecx, ebx
mov ecx, dword [esi + 0x10]
sbb ecx, dword [esi + 0x18]
jae 0x535b7c
mov ebx, dword [esi + 0x14]
jmp 0x535312
xor edi, dword [esi + 0xc]
mov ebx, dword [esi + 0x14]
xor edx, ebx
or edx, edi
je 0x535312
int3
int3
push str....._third_partylibc_srcincludeoptional:791:_assertion_this__has_value___failed:_optional_operator___called_on_a_disengaged_value_n
push 0x62a183
call fcn.005aacb0
mov edi, eax
mov ecx, eax
call fcn.00527860
push edi
call fcn.0057dc2b
add esp, 4
jmp 0x5357a9
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], edi
mov dword [esi + 0x18], 0xffffff
mov edi, dword [eax]
mov ecx, dword [edi]
mov ebx, dword [edi + 0x10]
inc ecx
cmp ecx, ebx
mov edx, 0
cmovne edx, ecx
cmp ebx, edx
jbe 0x535d57
mov eax, edx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x10], edx
imul edx, eax, 0x70
mov eax, dword [esi + 0x10]
add eax, edx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edx + 0x44]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edx + 0x18]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edx + 0x1c]
mov dword [esi + 0x30], 0
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
or edx, eax
mov dword [esi + 0x28], 0
jne 0x535c5d
mov edx, dword [esi + 0x20]
mov eax, dword [edx + 0x60]
mov edx, dword [edx + 0x64]
mov dword [esi + 0x1c], edx
xor edx, dword [esi + 0xc]
mov dword [esi + 0x10], edx
mov dword [esi + 0x20], eax
xor eax, dword [esi + 0x14]
or eax, dword [esi + 0x10]
je 0x535ce0
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
sbb eax, dword [esi + 0xc]
jb 0x5352d5
jmp 0x535d0d
mov eax, dword [esi + 0x20]
cmp dword [eax + 0x28], 0
jne 0x535ccf
mov eax, dword [esi + 0x20]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x28], eax
mov dword [esi + 0x30], edx
mov eax, edx
add eax, 1
mov edx, dword [esi + 0x28]
adc edx, 0x80000000
cmp eax, 2
sbb edx, 0
jb 0x535d6e
mov eax, dword [esi + 0x1c]
add eax, dword [esi + 0x30]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x10]
adc eax, dword [esi + 0x28]
mov dword [esi + 0x10], eax
seto byte [esi + 0x34]
sar eax, 0x1f
cmp byte [esi + 0x34], 0
lea edx, [eax - 0x80000000]
mov dword [esi + 0x28], edx
cmove eax, dword [esi + 0x1c]
mov dword [esi + 0x30], eax
cmp byte [esi + 0x34], 0
mov eax, dword [esi + 0x28]
cmove eax, dword [esi + 0x10]
mov dword [esi + 0x28], eax
jmp 0x535c25
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x28], eax
jmp 0x535c25
mov edx, dword [esi + 0x2c]
mov eax, dword [edx + 0x38]
mov dword [esi + 0xc], eax
mov edx, dword [edx + 0x3c]
mov eax, dword [esi + 0x28]
mov dword [esi + 0x14], edx
xor eax, edx
mov edx, dword [esi + 0x30]
xor edx, dword [esi + 0xc]
or edx, eax
jne 0x535d5a
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x3c]
cmp edx, dword [eax + 0x40]
jl 0x5352d5
xor edi, edi
dec edi
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x28], edi
mov eax, dword [esi + 0x2c]
mov cl, 1
mov dword [esi + 0x20], ecx
jmp 0x535334
push eax
call fcn.00506f30
add esp, 4
jmp 0x535705
push eax
call fcn.00506f30
add esp, 4
jmp 0x53586a
cmp eax, dword [esi + 0x18]
mov eax, dword [esi + 0x10]
sbb eax, dword [esi + 0x24]
jmp 0x5358c7
int3
mov edx, dword [esi + 0xc]
cmp dword [esi + 0x30], edx
mov eax, dword [esi + 0x14]
sbb dword [esi + 0x28], eax
jl 0x5352d5
jmp 0x535d0d
xor eax, eax
inc eax
mov edx, dword [esi + 0x1c]
add edx, eax
mov dword [esi + 0x34], edx
mov eax, dword [esi + 0x10]
adc eax, 0x80000000
mov dword [esi + 0x38], 0
xor edx, edx
inc edx
cmp edx, dword [esi + 0x34]
sbb dword [esi + 0x38], eax
jb 0x535c25
mov eax, dword [esi + 0x1c]
xor eax, dword [esi + 0x30]
mov edx, dword [esi + 0x10]
xor edx, dword [esi + 0x28]
or edx, eax
je 0x535c25
int3