Function at 0x527c40
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov edi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [0x64a040]
xor eax, ebp
mov dword [esp + 0x78], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ebx + 0x60], xmm0
movdqu xmmword [ebx + 0x50], xmm0
movdqu xmmword [ebx + 0x40], xmm0
movdqu xmmword [ebx + 0x30], xmm0
movdqu xmmword [ebx + 0x20], xmm0
movdqu xmmword [ebx + 0x10], xmm0
movdqu xmmword [ebx], xmm0
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov esi, dword [ecx + 0x10]
inc edx
xor eax, eax
cmp edx, esi
cmove edx, eax
cmp esi, edx
jbe 0x528534
mov ecx, dword [ecx + 0xc]
imul edx, edx, 0x70
movups xmm0, xmmword [ecx + edx]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ecx + edx + 0x10]
movups xmm1, xmmword [ecx + edx + 0x20]
movups xmmword [ebx + 0x10], xmm0
movups xmmword [ebx + 0x20], xmm1
movups xmm0, xmmword [ecx + edx + 0x30]
movups xmmword [ebx + 0x30], xmm0
movups xmm0, xmmword [ecx + edx + 0x39]
movups xmmword [ebx + 0x39], xmm0
mov esi, dword [ecx + edx + 0x50]
mov dword [ebx + 0x50], esi
mov dword [ecx + edx + 0x50], 0
movzx ebx, byte [ecx + edx + 0x5a]
mov esi, dword [ebp + 8]
mov byte [esi + 0x5a], bl
mov ebx, dword [ebp + 8]
movzx esi, word [ecx + edx + 0x58]
mov word [ebx + 0x58], si
mov esi, dword [ecx + edx + 0x5c]
mov dword [ebx + 0x5c], esi
mov dword [ecx + edx + 0x5c], 0
movsd xmm0, qword [ecx + edx + 0x60]
movsd qword [ebx + 0x60], xmm0
mov esi, dword [ecx + edx + 0x68]
mov dword [ebx + 0x68], esi
mov dword [ecx + edx + 0x68], 0
mov ecx, dword [ecx + edx + 0x6c]
mov dword [ebx + 0x6c], ecx
mov ecx, dword [edi]
mov edx, dword [ecx]
mov esi, dword [ecx + 0x10]
inc edx
cmp edx, esi
cmove edx, eax
mov dword [ecx], edx
cmp esi, edx
jbe 0x528537
mov eax, dword [ecx + 0xc]
imul ecx, edx, 0x70
lea esi, [eax + ecx]
mov eax, dword [eax + ecx + 0x68]
test eax, eax
jne 0x5282f4
mov ebx, dword [esi + 0x5c]
test ebx, ebx
jne 0x528328
mov esi, dword [esi + 0x50]
test esi, esi
jne 0x52830b
mov eax, dword [edi]
mov ecx, dword [eax + 4]
cmp ecx, dword [eax]
jne 0x527d79
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x528369
dec dword [edi + 8]
mov dword [esp + 0x18], edi
jne 0x5280a1
cmp dword [edi + 0x50], 0
jne 0x527ef9
mov esi, dword [edi + 0x1c]
cmp dword [edi + 4], 0
je 0x527e60
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], 0xffffffff
mov ecx, dword [0x64c080]
cmp ecx, 0x56aca0
jne 0x528084
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, 0x7bd05af7
cmp edx, eax
mov ebx, ecx
mov eax, ecx
mov ecx, 0x863
sbb eax, ecx
jge 0x528807
mov ecx, 0xf4240
mov eax, edx
mul ecx
imul ecx, ebx, 0xf4240
add ecx, edx
push dword [0x64f6a4]
push dword [0x64f6a0]
push ecx
push eax
call fcn.005a13d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp eax, dword [edi + 0x10]
sbb edx, dword [edi + 0x14]
jl 0x527e60
mov ecx, dword [edi + 0xc]
inc ecx
cmp ecx, 5
mov eax, 4
cmovae eax, ecx
mov ecx, dword [edi]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], edx
test ecx, ecx
je 0x527e60
lea edx, [eax + 0x10]
xor ebx, ebx
add ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x527e4e
cmp edx, ebx
jb 0x528461
lea ebx, [esi + 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x528391
mov eax, dword [edi]
mov ecx, dword [esi + 0x18]
mov dword [edi], ecx
mov dword [esi + 0x18], eax
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x1c]
mov dword [edi + 4], ecx
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x20]
mov dword [edi + 8], ecx
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [esi + 0x24]
mov dword [edi + 0xc], ecx
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
movsd xmm0, qword [esi + 0x28]
movsd qword [edi + 0x10], xmm0
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
cmp byte [esi + 0xd0], 0
jne 0x528633
mov eax, dword [esi + 0x64]
cmp dword [eax + 8], 0
sete byte [esi + 0x30]
movzx eax, byte [esi + 0xa4]
mov byte [esi + 0x33], al
cmp dword [esi + 0x5c], 0
jne 0x527eef
test al, al
je 0x528429
movzx eax, byte [esi + 0xc0]
xor al, 1
mov byte [esi + 0x31], al
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [edi + 4], 0
je 0x527fc4
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], 0xffffffff
mov ecx, dword [0x64c080]
cmp ecx, 0x56aca0
jne 0x528067
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov eax, 0x7bd05af7
cmp ebx, eax
mov eax, esi
mov ecx, 0x863
sbb eax, ecx
jge 0x528779
mov ecx, 0xf4240
mov eax, ebx
mul ecx
imul ecx, esi, 0xf4240
add ecx, edx
push dword [0x64f6a4]
push dword [0x64f6a0]
push ecx
push eax
call fcn.005a13d0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
cmp eax, dword [edi + 0x10]
sbb edx, dword [edi + 0x14]
jl 0x527fc4
mov ecx, dword [edi + 0xc]
inc ecx
cmp ecx, 5
mov eax, 4
cmovae eax, ecx
mov ecx, dword [edi]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], edx
test ecx, ecx
je 0x527fc4
lea edx, [eax + 0x10]
xor esi, esi
add esi, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x527fb2
cmp edx, esi
jb 0x528430
mov ebx, dword [edi + 0x18]
mov esi, edi
mov edi, dword [edi + 0x20]
cmp dword [esi + 8], 0
jne 0x5280a9
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
sub eax, ecx
sar eax, 4
cmp eax, edi
jbe 0x528525
mov esi, edi
shl esi, 4
add ecx, esi
push 0
call fcn.00526a20
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
sub ecx, eax
sar ecx, 4
cmp ecx, edi
jbe 0x528525
mov edx, edi
mov ecx, dword [eax + esi + 4]
cmp ecx, dword [eax + esi + 8]
mov edi, dword [esp + 0x18]
jne 0x528197
mov esi, edx
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
sar edx, 2
cmp edx, esi
jbe 0x528525
dec dword [ecx + esi*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
sub edx, ecx
sar edx, 2
cmp edx, esi
jbe 0x528525
cmp dword [ecx + esi*4], 0
jne 0x528197
mov ecx, esi
mov edx, 0xfffffffe
rol edx, cl
and dword [eax + 0x14], edx
jmp 0x528197
call dword [0x6445dc]
lea eax, [esp + 0x28]
push eax
call ecx
add esp, 4
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jmp 0x527f8a
call dword [0x6445dc]
lea eax, [esp + 0x28]
push eax
call ecx
add esp, 4
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jmp 0x527e26
mov ebx, dword [edi + 0x18]
mov esi, edi
mov edi, dword [edi + 0x20]
mov eax, dword [esi]
mov ecx, dword [eax]
cmp byte [esi + 0x48], 0
mov dword [esp + 0x14], ebx
jne 0x52823e
mov esi, dword [eax + 0x10]
inc ecx
xor edx, edx
cmp ecx, esi
mov dword [esp], 0
cmove ecx, edx
cmp esi, ecx
jbe 0x52853a
mov esi, dword [eax + 0xc]
imul ecx, ecx, 0x70
lea eax, [esi + ecx]
mov dword [esp + 4], eax
mov eax, dword [esi + ecx + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esi + ecx + 0x18]
mov ebx, dword [esi + ecx + 0x1c]
mov ecx, eax
or ecx, ebx
mov edx, 0
jne 0x5281d7
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, esi
sar eax, 4
cmp eax, edi
jbe 0x528525
shl edi, 4
add esi, edi
mov edi, dword [esp + 0x18]
mov eax, edi
shr eax, 0xe
mov ecx, edi
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x6527ec]
bt ecx, eax
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
jb 0x5281c1
mov eax, edi
shr eax, 0x15
mov byte [eax + 0x65a7ec], 1
mov dword [esp + 0x68], edi
lea eax, [esp + 0x50]
lea edx, [esp + 0x28]
mov ecx, esi
push eax
push edx
call fcn.00526990
mov eax, dword [esp + 0x68]
mov ecx, eax
shr ecx, 0xe
mov edx, eax
shr edx, 0x13
mov edx, dword [edx*4 + 0x6527ec]
bt edx, ecx
jb 0x5281cc
mov edi, dword [edi + 0x1c]
movzx eax, byte [0x64f546]
test al, al
jne 0x52869b
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.005810d5
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
push edi
call fcn.00506e00
add esp, 4
jmp 0x528168
push eax
call fcn.00506f30
add esp, 4
jmp 0x528197
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x28], 0
jne 0x528234
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov esi, edx
add esi, 1
mov dword [esp], ecx
adc ecx, 0x80000000
cmp esi, 2
sbb ecx, 0
jb 0x5288a8
add eax, edx
adc ebx, dword [esp]
seto byte [esp + 0xc]
mov ecx, ebx
sar ecx, 0x1f
lea edx, [ecx - 0x80000000]
mov dword [esp], edx
mov dl, byte [esp + 0xc]
test dl, dl
cmove ecx, eax
test dl, dl
mov edx, ecx
mov eax, dword [esp]
cmove eax, ebx
mov dword [esp], eax
jmp 0x528101
mov edx, eax
mov dword [esp], ebx
jmp 0x528101
inc ecx
mov esi, dword [eax + 0x10]
xor edx, edx
cmp ecx, esi
mov ebx, ecx
mov dword [esp + 0x10], 0
cmove ebx, edx
cmp esi, ebx
jbe 0x5288e8
mov edx, dword [eax + 0xc]
mov dword [esp], edx
imul edx, ebx, 0x70
mov ebx, dword [esp]
add ebx, edx
mov dword [esp + 8], ebx
mov ebx, dword [esp]
mov ebx, dword [ebx + edx + 0x44]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp]
mov ebx, dword [ebx + edx + 0x18]
mov dword [esp + 4], ebx
mov ebx, dword [esp]
mov ebx, dword [ebx + edx + 0x1c]
mov edx, dword [esp + 4]
or edx, ebx
mov edx, dword [esp + 8]
mov dword [esp + 0x1c], 0
jne 0x5283b1
mov ebx, dword [edx + 0x60]
mov dword [esp], ebx
mov edx, dword [edx + 0x64]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x30]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0x34]
mov ebx, dword [esp + 8]
mov dword [esp + 0xc], edx
xor ebx, edx
mov edx, dword [esp]
xor edx, dword [esp + 4]
or edx, ebx
je 0x5284d4
mov edx, dword [esp + 4]
cmp dword [esp], edx
mov edx, dword [esp + 8]
sbb edx, dword [esp + 0xc]
jb 0x5280bf
mov ebx, dword [esp + 0x14]
jmp 0x527fd6
lock dec dword [eax]
jne 0x527d4f
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x527d4f
lock dec dword [esi]
jne 0x527d65
mov ecx, dword [esi + 8]
call dword [0x6445dc]
push esi
call ecx
add esp, 4
jmp 0x527d65
lock dec dword [ebx + 4]
jne 0x527d5a
mov ecx, dword [ebx]
mov eax, dword [ebx + 0xc]
cmp dword [ecx + 8], 0x5b5540
test eax, eax
je 0x52834b
lock dec dword [eax]
je 0x528517
mov eax, dword [ebx + 8]
test eax, eax
je 0x52835b
lock dec dword [eax]
je 0x528492
push ebx
call fcn.0057dc2b
add esp, 4
jmp 0x527d5a
mov dword [eax + 0x14], 0
mov esi, dword [edi]
mov dword [edi], ecx
test esi, esi
je 0x527d79
mov ecx, esi
call fcn.00527860
push esi
call fcn.0057dc2b
add esp, 4
jmp 0x527d79
push ebx
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x527e72
mov ebx, dword [esp + 4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp]
mov dword [esp + 0x10], ebx
jmp 0x5282a2
mov dword [esp], ebx
cmp dword [edx + 0x28], 0
jne 0x52839d
mov ebx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x1c], ebx
add ebx, 1
mov dword [esp + 0x10], edx
adc edx, 0x80000000
cmp ebx, 2
sbb edx, 0
jb 0x5288eb
mov edx, dword [esp + 0x1c]
add dword [esp + 4], edx
mov ebx, dword [esp]
adc ebx, dword [esp + 0x10]
mov dword [esp], ebx
seto byte [esp + 0xc]
sar ebx, 0x1f
lea edx, [ebx - 0x80000000]
mov dword [esp + 0x10], edx
cmp byte [esp + 0xc], 0
cmove ebx, dword [esp + 4]
mov dword [esp + 0x1c], ebx
cmp byte [esp + 0xc], 0
mov ebx, dword [esp + 0x10]
cmove ebx, dword [esp]
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 8]
jmp 0x5282a2
xor eax, eax
jmp 0x527eef
mov ecx, edi
push eax
call fcn.005289c0
mov eax, dword [esp + 0x2c]
xor ecx, ecx
dec ecx
mov edx, 0x4c4b40
add edx, dword [esp + 0x28]
adc eax, 0
mov esi, 0x7fffffff
cmovno esi, eax
cmovo edx, ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], esi
jmp 0x527fc4
mov ecx, edi
push eax
call fcn.005289c0
mov eax, dword [esp + 0x2c]
xor ecx, ecx
dec ecx
mov edx, 0x4c4b40
add edx, dword [esp + 0x28]
adc eax, 0
mov ebx, 0x7fffffff
cmovno ebx, eax
cmovo edx, ecx
mov dword [edi + 0x10], edx
mov dword [edi + 0x14], ebx
jmp 0x527e60
mov dword [esp], 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 0x528943
mov eax, dword [esp]
mov dword [eax + 0x10], 0
lea ecx, [eax + 4]
call fcn.00406d90
push dword [esp]
call fcn.0057dc2b
add esp, 4
jmp 0x52835b
mov edx, dword [esp + 0x18]
mov ebx, dword [edx + 0x38]
mov dword [esp + 4], ebx
mov edx, dword [edx + 0x3c]
mov ebx, dword [esp + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], edx
xor dword [esp], edx
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 4]
or edx, dword [esp]
jne 0x528983
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
cmp edx, dword [ebx + 0x40]
jl 0x5280bf
jmp 0x5282eb
push eax
call fcn.0057dc2b
add esp, 4
jmp 0x52834b
push str....._third_partylibc_srcinclude_vector:1411:_assertion___n___size___failed:_vector___index_out_of_bounds_n
push 0x62a183
call fcn.005aacb0
int3
int3
int3
add ecx, eax
mov byte [esi + 0xd0], 0
lea edi, [esp + 0x28]
push edi
call fcn.005469e0
lea ecx, [esp + 0x50]
push edi
call fcn.005044a0
lea ecx, [esi + 0xa8]
mov dword [esp], ecx
lea eax, [esp + 0x50]
push eax
call fcn.005f0c80
cmp byte [esi + 0xc0], 0
je 0x5289a3
mov dword [esp + 4], esp
mov edi, dword [esi + 0x64]
mov ecx, dword [esp]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x60], eax
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm0
mov ecx, edi
call fcn.005b2be0
lea eax, [edi + 0x30]
cmp byte [edi + 0x48], 0
je 0x528969
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
mov esp, dword [esp + 4]
cmp byte [esi + 0xc0], 0
je 0x5289a3
mov dword [esp + 4], esp
mov edi, dword [esi + 0x60]
mov ecx, dword [esp]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x60], eax
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0x50], xmm0
mov ecx, edi
call fcn.005b2be0
lea eax, [edi + 0x30]
cmp byte [edi + 0x48], 0
je 0x528951
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
mov esp, dword [esp + 4]
mov edi, dword [esp + 0x44]
mov eax, edi
shr eax, 0xe
mov ecx, edi
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x6527ec]
bt ecx, eax
jae 0x52862a
push edi
call fcn.00506f30
add esp, 4
mov edi, dword [esp + 0x18]
jmp 0x527ec3
xor eax, eax
dec eax
lea ecx, [esp + 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], eax
push dword [edi]
call fcn.005f1e40
lea eax, [esp + 0x44]
mov eax, dword [eax]
xor edi, edi
test eax, eax
je 0x52860b
mov edx, dword [esp + 0x48]
cmp dword [eax + 0x10], edx
jbe 0x5289b2
cmp byte [esi + 0xd0], 0
je 0x52899e
mov ecx, dword [eax + 0xc]
imul eax, edx, 0x70
mov edx, dword [ecx + eax + 0x10]
cmp edx, dword [esi + 0xc8]
mov edx, dword [ecx + eax + 0x14]
sbb edx, dword [esi + 0xcc]
jge 0x52853d
lea ecx, [esp + 0x44]
call fcn.005f0cd0
mov eax, dword [esp + 0x44]
jmp 0x52864e
mov eax, dword [edi + 0xc]
mov ebx, dword [eax + 4]
lea esi, [esp + 0x50]
push esi
call fcn.0057aaa0
add esp, 4
cmp ebx, dword [esi]
jne 0x5281a9
lea ebx, [edi + 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x5286cb
push ebx
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [edi + 0x20]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov ecx, dword [ecx + 8]
mov dword [esp], ecx
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x70]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 8], eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov dword [esp + 0x4c], 0x122
mov al, byte [0x64f546]
test al, al
je 0x5281a9
mov edx, dword [esp]
add edx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
sub ecx, dword [esp + 8]
sar ecx, 4
imul ecx, ecx, 0xb6db6db7
mov ebx, dword [esp + 0x18]
add ebx, ecx
add ebx, edx
movzx eax, al
mov dword [esp + 0x18], eax
push dword [edi + 4]
call fcn.005f19d0
add esp, 4
lea ecx, [esp + 0x44]
mov dword [ecx], eax
mov dword [esp + 0x50], ebx
lea eax, [esp + 0x28]
mov dword [eax], 0x62caef
xor edx, edx
lea edi, [esp + 0x4c]
push esi
push eax
push edx
push 0x43
push 0x62c8f8
push edx
push ecx
push edi
push dword [esp + 0x38]
call fcn.005f1a00
add esp, 0x24
jmp 0x5281a9
mov eax, dword [0x64f6a0]
mov dword [esp], eax
mov ecx, dword [0x64f6a4]
mov dword [esp + 4], ecx
push ecx
push eax
push esi
push ebx
call fcn.005a13d0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mul dword [esp]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 4]
add edx, ecx
mov eax, dword [esp + 0x10]
imul ecx, eax, 0xf4240
mov dword [esp + 8], ecx
imul eax, dword [esp]
add eax, edx
sub ebx, dword [esp + 0xc]
sbb esi, eax
mov ecx, 0xf4240
mov eax, dword [esp + 0x14]
mul ecx
mov dword [esp + 0x14], eax
add edx, dword [esp + 8]
mov dword [esp + 8], edx
mov eax, ebx
mul ecx
imul ecx, esi, 0xf4240
add edx, ecx
push dword [esp + 4]
push dword [esp + 4]
push edx
push eax
call fcn.005a13d0
add eax, dword [esp + 0x14]
adc edx, dword [esp + 8]
jmp 0x527f82
mov ecx, dword [0x64f6a0]
mov dword [esp], ecx
mov eax, dword [0x64f6a4]
mov dword [esp + 4], eax
push eax
push ecx
mov dword [esp + 0x1c], ebx
push ebx
push edx
mov dword [esp + 0x18], edx
call fcn.005a13d0
mov dword [esp + 0x1c], edx
mov ebx, eax
mov edx, dword [esp]
mul edx
mov dword [esp + 0x10], eax
mov eax, ebx
mov ecx, ebx
imul ecx, dword [esp + 4]
add edx, ecx
mov ecx, dword [esp + 0x1c]
imul ebx, ecx, 0xf4240
mov dword [esp + 0xc], ebx
imul ecx, dword [esp]
add ecx, edx
mov edx, ecx
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
sbb ecx, edx
mov edx, 0xf4240
mul edx
mov dword [esp + 0x14], eax
add edx, dword [esp + 0xc]
mov dword [esp + 8], edx
mov eax, ebx
mov edx, 0xf4240
mul edx
imul ecx, ecx, 0xf4240
add edx, ecx
push dword [esp + 4]
push dword [esp + 4]
push edx
push eax
call fcn.005a13d0
add eax, dword [esp + 0x14]
adc edx, dword [esp + 8]
jmp 0x527e1e
mov dword [esp + 0xc], edi
xor edi, edi
inc edi
mov ecx, eax
add ecx, edi
mov esi, ebx
adc esi, 0x80000000
mov dword [esp + 0x10], 0
cmp edi, ecx
sbb dword [esp + 0x10], esi
jae 0x5288d4
mov edi, dword [esp + 0xc]
jmp 0x528101
xor eax, edx
xor ebx, dword [esp]
or ebx, eax
mov edi, dword [esp + 0xc]
je 0x528101
int3
int3
mov dword [esp + 0xc], edi
xor ebx, ebx
inc ebx
mov edi, dword [esp + 4]
add edi, ebx
mov ebx, dword [esp]
adc ebx, 0x80000000
mov dword [esp + 0x20], 0
xor edx, edx
inc edx
cmp edx, edi
sbb dword [esp + 0x20], ebx
jae 0x528921
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x5282a2
mov ebx, dword [esp + 4]
xor ebx, dword [esp + 0x1c]
mov edx, dword [esp]
xor edx, dword [esp + 0x10]
or edx, ebx
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
je 0x5282a2
int3
push eax
call fcn.00506f30
add esp, 4
jmp 0x5284b2
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
mov byte [edi + 0x48], 1
jmp 0x528603
mov edx, edi
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x10], ecx
movaps xmm0, xmmword [esp + 0x50]
movups xmmword [eax], xmm0
mov byte [edi + 0x48], 1
jmp 0x5285b6
mov edx, dword [esp + 4]
cmp dword [esp + 0x1c], edx
mov edx, dword [esp + 8]
sbb dword [esp + 0x10], edx
jl 0x5280bf
jmp 0x5282eb
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
int3