Function at 0x47eb60
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions
Get thread local storage value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x140
mov eax, dword [0x511014]
xor eax, ebp
mov dword [esp + 0x138], eax
mov eax, dword [0x521410]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4800e4
xor edi, edi
test dword [ebp + 0x34], 0x410
jne 0x47fa7f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [ebp + 0x28]
jne 0x47fa7f
mov eax, dword [0x5211cc]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4801d0
cmp byte [0x5211c8], 0
je 0x47fa7f
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor edx, edx
lea ecx, [esp + 0x70]
mov dword [ecx + 4], edx
mov dword [esp + 0x18], 0
mov dword [ecx], edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x5211d0]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x47ec23
jnp 0x47fd22
ucomisd xmm0, xmm1
jne 0x47ec2f
jnp 0x47fe29
movsd xmm1, qword [esp + 0x70]
unpcklps xmm1, xmmword [0x5049a0]
subpd xmm1, xmmword [0x5049b0]
haddpd xmm1, xmm1
divsd xmm1, xmm0
mulsd xmm1, qword [0x5049c0]
movsd qword [esp + 0x38], xmm1
fld qword [esp + 0x38]
fisttp qword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], edi
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x47f72d
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f74f
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [ebp + 0x28]
jne 0x47ef6d
mov eax, dword [0x524a2c]
cmp eax, 1
jbe 0x480164
mov eax, dword [0x524a28]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x48011c
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f7db
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
xor ecx, ecx
test ecx, ecx
mov eax, 0x50535e
cmovne eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x68], eax
mov eax, dword [0x52141c]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x47fe82
mov esi, dword [0x521418]
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f804
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp byte [eax], 0
je 0x47ef6d
mov esi, dword [0x521418]
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
je 0x4800bb
mov ecx, dword [esi]
mov edx, dword [esp + 0xc]
mov dword [eax + ecx*8], edx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [eax + ecx*8 + 4], edx
push 0x521218
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x47f977
mov esi, dword [0x5212a8]
test esi, esi
je 0x47ef19
mov ecx, esi
shr ecx, 1
and ecx, 0x55555555
mov eax, esi
sub eax, ecx
mov ecx, 0x33333333
mov edx, eax
and edx, ecx
shr eax, 2
and eax, ecx
add eax, edx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul ebx, ecx, 0x1010101
shr ebx, 0x18
cmp ebx, 1
jbe 0x47f8c6
mov eax, dword [ebp + 0x28]
mov ecx, eax
cmp esi, eax
ja 0x47eed3
mov eax, dword [ebp + 0x28]
xor edx, edx
div esi
mov ecx, edx
mov eax, dword [0x5212a4]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x47ef19
mov edi, dword [eax]
test edi, edi
je 0x47ef19
lea eax, [esi - 1]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
cmp eax, dword [ebp + 0x28]
je 0x48079e
cmp ebx, 1
jbe 0x47ef13
cmp eax, esi
jb 0x47ef07
xor edx, edx
div esi
mov eax, edx
cmp eax, ecx
jne 0x47ef19
mov edi, dword [edi]
test edi, edi
jne 0x47eeec
jmp 0x47ef19
and eax, dword [esp + 0x10]
jmp 0x47ef07
lea eax, [esp + 0x80]
lea edx, [esp + 0x70]
mov dword [edx], eax
lea esi, [esp + 0x8c]
lea edi, [esp + 0x90]
mov ecx, 0x5212a4
push esi
push edx
push 0x504d01
push eax
push edi
call fcn.00405030
mov esi, dword [edi]
mov edi, dword [esp + 0xc]
push edi
call fcn.004acda0
add esp, 4
add esi, 0xc
mov ecx, esi
push eax
push edi
call fcn.00459660
push 0x521218
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
test byte [eax], 8
jne 0x48074a
mov eax, 0x5213bc
mov ecx, 0x5213bc
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
mov edx, 0x5213bc
shr edx, 0xe
bt ecx, edx
jb 0x480773
shr eax, 0x15
mov byte [eax + 0x520914], 1
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
je 0x480065
mov ecx, dword [0x5213bc]
mov dword [eax + ecx*8], 0x5213bc
mov ecx, dword [0x5213c0]
mov edx, dword [0x5213bc]
mov dword [eax + edx*8 + 4], ecx
mov ecx, dword [ebp + 0x34]
test ecx, 0x180
sete al
bt ecx, 0xb
setae cl
mov dword [esp + 0xc], 0
or cl, al
mov dword [esp + 0x10], 0
jne 0x47f016
mov eax, dword [0x5212e8]
mov dword [esp + 0xc], eax
mov eax, dword [0x5212ec]
mov dword [esp + 0x10], eax
mov eax, dword [0x5212fc]
mov esi, dword [0x5212f8]
mov ecx, esi
add ecx, 0xffffffff
mov edi, eax
adc edi, 0x7fffffff
add ecx, 2
adc edi, 0
cmp ecx, 2
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ecx]
sbb edi, 0
mov ecx, dword [ecx + 4]
jb 0x480714
sub edx, esi
sbb ecx, eax
seto al
mov esi, ecx
sar esi, 0x1f
lea edi, [esi - 0x80000000]
test al, al
cmove esi, edx
mov dword [esp + 0x28], esi
test al, al
cmove edi, ecx
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x10]
xor eax, dword [ebp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
xor eax, dword [ebp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
test al, 1
je 0x480327
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f77a
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
mov eax, dword [0x526090]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x47fe36
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
je 0x47f82e
and eax, 0xfffffffc
je 0x47f4e4
mov ecx, dword [0x526088]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x52608c]
jne 0x47f4e4
cmp dword [eax + ecx*8], 0
je 0x47f4e4
mov eax, dword [0x5260a8]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x48006f
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
je 0x47f82e
and eax, 0xfffffffc
je 0x47f4e4
mov ecx, dword [0x5260a0]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5260a4]
jne 0x47f4e4
cmp dword [eax + ecx*8], 0
je 0x47f4e4
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f879
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
push 0x18
call fcn.00494aa6
add esp, 4
mov ebx, eax
mov dword [eax], 0x4ff02c
mov dword [eax + 4], 0x4ff034
mov eax, 0x521210
mov ecx, 0x521210
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
mov edx, 0x521210
shr edx, 0xe
bt ecx, edx
jb 0x4807dc
shr eax, 0x15
mov byte [eax + 0x520914], 1
mov dword [ebx + 8], 0x521210
xor eax, eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov eax, dword [0x5213f4]
mov dword [ebx + 0x14], eax
lea edi, [esp + 0x90]
push edi
call fcn.00480c50
add esp, 4
mov esi, dword [edi]
lea ecx, [esi + 0x28c]
push ebx
call fcn.0040f8d0
mov eax, esi
shr eax, 0xe
mov ecx, esi
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
bt ecx, eax
jb 0x47f986
mov dword [esp + 0x30], ebx
add ebx, 4
call fcn.0040f860
mov esi, eax
call fcn.00480b30
mov eax, dword [eax]
test eax, eax
je 0x47f2cb
lock inc dword [eax + 4]
mov byte [esp + 0x90], 1
mov ecx, esi
push edi
push eax
push str.ThreadLocalEventBuffer
push ebx
call fcn.00480d90
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esp + 0x14], eax
push 0x521214
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4807ee
call fcn.00480b30
mov eax, dword [eax]
test eax, eax
je 0x47f30e
lock inc dword [eax + 4]
mov dword [esp + 0x24], eax
mov ebx, dword [0x5213c8]
xor edi, edi
dec edi
test ebx, ebx
jne 0x47f8d1
push 0x10
call fcn.00494aa6
add esp, 4
mov esi, eax
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
xor eax, eax
mov dword [esi + 0xc], eax
mov dword [esi + 4], ecx
mov dword [esi], eax
mov eax, dword [0x5213d0]
inc eax
movq xmm2, qword [0x500408]
movd xmm0, eax
por xmm0, xmm2
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x5213d4]
test ebx, ebx
je 0x47f38a
movd xmm3, ebx
por xmm3, xmm2
subsd xmm3, xmm2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm3
mulss xmm2, xmm1
ucomiss xmm0, xmm2
jbe 0x47f45d
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.004bd750
add esp, 8
fstp dword [esp + 0x44]
movss xmm0, dword [esp + 0x44]
cvttss2si eax, xmm0
mov edx, eax
sar edx, 0x1f
subss xmm0, dword [0x500410]
cvttss2si ecx, xmm0
and ecx, edx
or ecx, eax
lea edx, [ebx + ebx]
cmp ebx, 3
jae 0x480824
xor eax, eax
inc eax
or eax, edx
cmp eax, ecx
cmovbe eax, ecx
mov edi, 2
cmp eax, 1
jne 0x47f994
cmp edi, ebx
jbe 0x480833
cmp edi, 0x40000000
jae 0x4808f9
lea eax, [edi*4]
push eax
call fcn.00494aa6
add esp, 4
mov ecx, dword [0x5213c4]
mov dword [0x5213c4], eax
test ecx, ecx
jne 0x47f9cc
mov dword [0x5213c8], edi
xor eax, eax
mov ecx, dword [0x5213c4]
mov dword [ecx + eax*4], 0
inc eax
cmp edi, eax
jne 0x47f428
mov ebx, dword [0x5213cc]
test ebx, ebx
jne 0x47f9da
mov ebx, dword [0x5213c8]
lea edi, [ebx - 1]
test ebx, edi
jne 0x47f9b5
and edi, dword [esp + 0x14]
mov ecx, dword [0x5213c4]
mov eax, dword [ecx + edi*4]
test eax, eax
jne 0x47f96c
mov eax, dword [0x5213cc]
mov dword [esi], eax
mov dword [0x5213cc], esi
mov dword [ecx + edi*4], 0x5213cc
mov eax, dword [esi]
test eax, eax
jne 0x47fba5
inc dword [0x5213d0]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [esi + 0xc], ecx
test eax, eax
jne 0x4807fd
push 0x521214
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
mov ebx, dword [ebp + 0x10]
je 0x480309
mov ecx, dword [0x5213ac]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*8], edx
mov ecx, dword [0x5213b0]
mov edx, dword [0x5213ac]
mov dword [eax + edx*8 + 4], ecx
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, eax
and ecx, 3
cmp ecx, 2
jne 0x47f7a8
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
mov dword [esp + 0x14], 0
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
test al, 1
je 0x48032f
mov edi, dword [0x5213fc]
test edi, edi
je 0x480797
xor eax, eax
dec eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0xb0], xmm0
movdqu xmmword [esp + 0xc0], xmm0
movdqu xmmword [esp + 0xd0], xmm0
movdqu xmmword [esp + 0xf0], xmm0
movdqu xmmword [esp + 0xe0], xmm0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
movapd xmm0, xmmword [0x504bc0]
movupd xmmword [esp + 0xa0], xmm0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], 0
mov byte [esp + 0xd0], 0
mov eax, dword [ebp + 0x28]
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf8], eax
mov al, byte [ebp + 8]
mov byte [esp + 0x100], al
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x47f672
lea eax, [esp + 0xd0]
cmp eax, ecx
jne 0x47fae1
mov eax, dword [ebp + 0x34]
xor esi, esi
test al, 1
jne 0x480002
mov bl, byte [esp + 0xd0]
test bl, bl
jne 0x47fa94
test esi, esi
jne 0x47fbe8
mov dword [esp + 0xc8], 0
xor ebx, ebx
cmp dword [esp + 0x14], 0
setne bl
mov ecx, edi
call dword [section..00cfg]
lea eax, [esp + 0x60]
lea esi, [esp + 0x90]
push eax
push ebx
push esi
call edi
add esp, 0xc
cmp byte [esi + 0x40], 0
jne 0x47fafb
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x47fd0d
push dword [0x514c54]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
and eax, 0xfffffffc
je 0x47f70d
mov ecx, dword [0x5213bc]
mov dword [eax + ecx*8], 0
mov ecx, dword [0x5213c0]
mov edx, dword [0x5213bc]
mov dword [eax + edx*8 + 4], ecx
mov eax, 0x5213bc
mov ecx, 0x5213bc
shr ecx, 0x13
mov ecx, dword [ecx*4 + 0x518914]
shr eax, 0xe
bt ecx, eax
jb 0x480785
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x138]
xor ecx, ebp
call fcn.00496ce3
mov eax, esi
mov edx, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
and eax, 0xfffffffc
je 0x47ecf0
mov ecx, dword [0x5213bc]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5213c0]
jne 0x47ecf0
cmp dword [eax + ecx*8], 0
je 0x47ecf0
jmp 0x47f72d
and eax, 0xfffffffc
je 0x47f0ef
mov ecx, dword [0x5213b4]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5213b8]
jne 0x47f0ef
cmp dword [eax + ecx*8], 0
je 0x47f0ef
jmp 0x47f4e4
mov dword [esp + 0x14], 0
and eax, 0xfffffffc
je 0x47f54c
mov ecx, dword [0x5213ac]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5213b0]
jne 0x47f54c
mov eax, dword [eax + ecx*8]
mov dword [esp + 0x14], eax
jmp 0x47f54c
xor ecx, ecx
and eax, 0xfffffffc
je 0x47ed90
mov edx, dword [0x524a20]
mov esi, dword [eax + edx*8 + 4]
cmp esi, dword [0x524a24]
jne 0x47ed90
mov ecx, dword [eax + edx*8]
jmp 0x47ed90
and eax, 0xfffffffc
je 0x47ee29
mov ecx, dword [esi]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [esi + 4]
jne 0x47ee29
mov edx, dword [esp + 0xc]
cmp edx, dword [eax + ecx*8]
je 0x47ef6d
jmp 0x47ee29
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0x11e1a300
lea esi, [esp + 0x90]
push 0x1db
push str....._base_threading_thread_local_storage.cc
push 0x50535a
push esi
call fcn.00454af0
add esp, 4
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.004be150
add esp, 0xc
jmp 0x47f4e4
and eax, 0xfffffffc
je 0x47f217
mov ecx, dword [0x5213ac]
mov edx, dword [eax + ecx*8 + 4]
cmp edx, dword [0x5213b0]
jne 0x47f217
mov esi, dword [eax + ecx*8]
test esi, esi
je 0x47f217
mov eax, dword [0x5213f4]
cmp eax, dword [esi + 0x14]
je 0x47f4e4
mov ecx, esi
call fcn.0042fb50
push esi
call fcn.00494aa1
add esp, 4
jmp 0x47f217
lea ecx, [esi - 1]
and ecx, dword [ebp + 0x28]
jmp 0x47eed3
mov ecx, ebx
shr ecx, 1
and ecx, 0x55555555
mov eax, ebx
sub eax, ecx
mov ecx, 0x33333333
mov edx, eax
and edx, ecx
shr eax, 2
and eax, ecx
add eax, edx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
cmp ecx, 1
ja 0x47fbcb
lea edi, [ebx - 1]
and edi, dword [esp + 0x14]
mov eax, dword [0x5213c4]
mov esi, dword [eax + edi*4]
test esi, esi
je 0x47f323
lea edx, [ebx - 1]
mov esi, dword [esi]
test esi, esi
je 0x47f323
mov eax, dword [esi + 4]
cmp eax, dword [esp + 0x14]
je 0x47f94a
cmp ecx, 1
ja 0x47f958
and eax, edx
cmp eax, edi
jne 0x47f323
mov eax, dword [esp + 0x14]
cmp dword [esi + 8], eax
jne 0x47f928
jmp 0x47f492
mov dword [esp + 0x20], edx
cmp eax, ebx
jb 0x47f966
xor edx, edx
div ebx
mov eax, edx
mov edx, dword [esp + 0x20]
jmp 0x47f942
mov ecx, dword [eax]
mov dword [esi], ecx
mov dword [eax], esi
jmp 0x47f48c
mov ecx, 0x521218
call fcn.004597a0
jmp 0x47ee76
push esi
call fcn.00454d60
add esp, 4
jmp 0x47f2ae
lea ecx, [eax - 1]
test eax, ecx
je 0x4809ee
push eax
call fcn.00481e70
add esp, 4
mov edi, eax
mov ebx, dword [0x5213c8]
jmp 0x47f3e9
mov eax, dword [esp + 0x14]
cmp eax, ebx
jb 0x4809f5
xor edx, edx
div ebx
mov edi, edx
jmp 0x47f45d
push ecx
call fcn.00494aa1
add esp, 4
jmp 0x47f420
mov ecx, edi
shr ecx, 1
and ecx, 0x55555555
mov eax, edi
sub eax, ecx
mov ecx, 0x33333333
mov edx, eax
and edx, ecx
shr eax, 2
and eax, ecx
add eax, edx
mov ecx, eax
shr ecx, 4
add ecx, eax
mov edx, dword [ebx + 4]
and ecx, 0xf0f0f0f
imul eax, ecx, 0x1010101
shr eax, 0x18
mov dword [esp + 0x20], eax
cmp eax, 1
jbe 0x4809fc
cmp edx, edi
jb 0x47fa28
mov eax, edx
xor edx, edx
div edi
mov eax, dword [0x5213c4]
mov dword [eax + edx*4], 0x5213cc
mov ecx, dword [ebx]
test ecx, ecx
je 0x47f448
mov eax, dword [ecx + 4]
cmp dword [esp + 0x20], 1
mov dword [esp + 0x34], edx
jbe 0x480a06
cmp eax, edi
jb 0x47fa5a
xor edx, edx
div edi
mov eax, edx
cmp eax, dword [esp + 0x34]
je 0x480a2e
mov edx, dword [0x5213c4]
cmp dword [edx + eax*4], 0
jne 0x480a10
mov dword [edx + eax*4], ebx
mov ebx, ecx
mov ecx, dword [ecx]
mov edx, eax
jmp 0x47fa36
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
jmp 0x47ec72
movzx ebx, bl
xor edx, edx
movzx eax, byte [esp + edx + 0xd1]
mov ecx, dword [ebp + 0x34]
test cl, 1
jne 0x4800c5
cmp al, 7
je 0x47fabc
inc edx
cmp ebx, edx
je 0x47f68e
jmp 0x47fa99
mov dword [esp + 0xc], edx
mov eax, dword [esp + edx*8 + 0xe0]
test eax, eax
je 0x480a60
push eax
call fcn.004acda0
add esp, 4
inc eax
add esi, eax
mov edx, dword [esp + 0xc]
jmp 0x47fab1
movupd xmm0, xmmword [ecx]
movupd xmm1, xmmword [ecx + 0x10]
movupd xmmword [eax + 0x10], xmm1
movupd xmmword [eax], xmm0
mov byte [ecx], 0
jmp 0x47f672
xor ebx, ebx
mov al, byte [esp + ebx + 0xd1]
cmp al, 8
je 0x47fb1f
cmp al, 9
je 0x47fb66
inc ebx
movzx eax, byte [esp + 0xd0]
cmp ebx, eax
jae 0x47f6d0
jmp 0x47fafd
mov edi, dword [esp + ebx*8 + 0xe0]
test edi, edi
je 0x47fb0c
mov dword [edi], fcn.00418360
mov esi, dword [edi + 4]
mov dword [edi + 4], 0
test esi, esi
je 0x47fb54
mov eax, dword [esi]
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
call dword [section..00cfg]
mov ecx, esi
push 1
call dword [esp + 0x10]
push edi
call fcn.00494aa1
add esp, 4
mov al, byte [esp + ebx + 0xd1]
jmp 0x47fb08
mov esi, dword [esp + ebx*8 + 0xe0]
test esi, esi
je 0x47fb0c
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x47fb89
mov edi, dword [eax]
push eax
call fcn.00494aa1
add esp, 4
mov eax, edi
test edi, edi
jne 0x47fb78
mov dword [esi + 0x5c], 0
mov ecx, esi
call fcn.0045bf90
push esi
call fcn.00494aa1
add esp, 4
jmp 0x47fb0c
mov eax, dword [eax + 4]
lea ecx, [ebx - 1]
test ebx, ecx
je 0x480a37
cmp eax, ebx
jb 0x47fbbd
xor edx, edx
div ebx
mov eax, edx
shl eax, 2
add eax, dword [0x5213c4]
jmp 0x47f970
mov eax, dword [esp + 0x14]
mov edi, eax
cmp eax, ebx
jb 0x47f915
mov eax, dword [esp + 0x14]
xor edx, edx
div ebx
mov edi, edx
jmp 0x47f915
lea ebx, [esi + 4]
mov ecx, dword [0x521440]
test ecx, ecx
je 0x480a4c
movzx eax, byte [0x521428]
shl eax, 3
add eax, ebx
jb 0x480a58
push 0x4ffecc
push eax
push 0
push 0x10
call fcn.0046c070
test ebx, ebx
je 0x47fc2f
test eax, eax
jne 0x47fc2f
cmp byte [0x516908], 0
jne 0x480a67
mov dword [esp + 0xc8], eax
mov dword [eax], esi
lea ecx, [eax + 4]
test eax, eax
cmove ecx, eax
mov eax, ecx
mov dword [esp + 0xc], ecx
add ecx, esi
mov eax, dword [ebp + 0x34]
test al, 1
jne 0x47fed6
mov dl, byte [esp + 0xd0]
test dl, dl
je 0x47f6a1
mov eax, ecx
neg eax
mov dword [esp + 0x28], eax
xor ebx, ebx
mov dword [esp + 0x1c], ecx
cmp byte [esp + ebx + 0xd1], 7
jne 0x47fcf2
mov eax, dword [esp + ebx*8 + 0xe0]
mov dword [esp + 0x10], eax
test eax, eax
je 0x47fcf2
mov esi, ecx
mov eax, dword [esp + 0xc]
sub esi, eax
je 0x47fccb
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x28]
add eax, ecx
xor edx, edx
inc edx
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx + edx - 1]
mov ebx, dword [esp + 0xc]
mov byte [ebx + edx - 1], cl
test cl, cl
je 0x47fd03
lea ecx, [eax + edx]
inc ecx
inc edx
cmp ecx, 1
jne 0x47fca0
mov eax, dword [esp + 0xc]
mov byte [esi + eax - 1], 0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea edx, [esi + 1]
cmp byte [ecx + esi], 0
mov esi, edx
jne 0x47fccf
mov dword [esp + ebx*8 + 0xe0], eax
add eax, edx
mov dword [esp + 0xc], eax
mov dl, byte [esp + 0xd0]
mov ecx, dword [esp + 0x1c]
inc ebx
movzx eax, dl
cmp ebx, eax
jb 0x47fc70
jmp 0x47f6a1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
jmp 0x47fcda
push 0
push eax
push 0x504ee4
call fcn.004684e0
add esp, 0xc
jmp 0x47f6df
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [esp + 0xc], eax
call esi
push 2
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x5211e0]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x480197
mov eax, dword [0x5211f0]
mov ecx, dword [0x514f00]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x480273
rdtsc
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
xor eax, eax
lea esi, [esp + 0x90]
mov dword [esi + 4], eax
mov dword [esi], eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push dword [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi], eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov eax, dword [esp + 0x10]
sub eax, dword [0x5211e8]
sbb ebx, dword [0x5211ec]
movd xmm0, ebx
movd xmm1, eax
punpckldq xmm1, xmm0
movq qword [esp + 0x50], xmm1
fild qword [esp + 0x50]
fstp qword [esp + 0x48]
movsd xmm1, qword [esp + 0x48]
fild qword [esp + 0x90]
fstp qword [esp + 0x58]
divsd xmm1, qword [esp + 0x58]
pxor xmm0, xmm0
movsd xmm2, qword [0x504990]
ucomisd xmm2, xmm1
jbe 0x4802c4
xorpd xmm1, xmm1
jmp 0x47ec23
mov dword [esp + 0x1c], 0
jmp 0x47ec72
push 0x526090
call fcn.00494ba0
add esp, 4
cmp dword [0x526090], 0xffffffff
jne 0x47f110
mov dword [0x52608c], 0
mov dword [0x526088], 0xffffffff
mov ecx, 0x526088
push 0
call fcn.00404c70
push 0x526090
call fcn.00495b95
add esp, 4
jmp 0x47f110
push 0x52141c
call fcn.00494ba0
add esp, 4
cmp dword [0x52141c], 0xffffffff
jne 0x47edc3
push 8
call fcn.00494aa6
add esp, 4
mov esi, eax
mov dword [eax + 4], 0
mov dword [eax], 0xffffffff
mov ecx, eax
push 0
call fcn.00404c70
mov dword [0x521418], esi
push 0x52141c
call fcn.00495b95
add esp, 4
jmp 0x47edc3
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0x1c], ecx
je 0x47ff3d
mov ebx, esi
neg ebx
xor edx, edx
inc edx
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + edx - 1]
mov ecx, dword [esp + 0xc]
mov byte [ecx + edx - 1], al
test al, al
je 0x48031e
lea eax, [ebx + edx]
inc eax
inc edx
cmp eax, 1
mov ecx, dword [esp + 0x10]
jne 0x47fef8
mov eax, dword [esp + 0xc]
mov byte [esi + eax - 1], 0
mov ebx, esi
lea edx, [ebx + 1]
cmp byte [ecx + ebx], 0
mov ebx, edx
jne 0x47ff25
mov dword [esp + 0xc4], eax
add edx, eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x480a85
mov dword [esp + 0xc], edx
mov dl, byte [esp + 0xd0]
test dl, dl
je 0x47f6a1
mov eax, ecx
neg eax
mov dword [esp + 0x2c], eax
xor esi, esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + esi*4 + 0xd4]
test esi, esi
je 0x480b0e
mov eax, ecx
sub eax, dword [esp + 0xc]
je 0x47ffc6
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [edx + ecx]
mov dword [esp + 0x10], eax
xor edx, edx
inc edx
mov al, byte [esi + edx - 1]
mov ecx, dword [esp + 0xc]
mov byte [ecx + edx - 1], al
test al, al
je 0x47ffd1
mov ebx, esi
mov eax, dword [esp + 0x10]
add eax, edx
inc eax
inc edx
cmp eax, 1
jne 0x47ff9a
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
mov byte [eax + ecx - 1], 0
lea edx, [eax + 1]
cmp byte [esi + eax], 0
mov eax, edx
jne 0x47ffc6
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov dword [esp + esi*4 + 0xd4], eax
add eax, edx
mov dword [esp + 0xc], eax
mov dl, byte [esp + 0xd0]
inc esi
movzx eax, dl
cmp esi, eax
mov ecx, dword [esp + 0x1c]
jae 0x47fc5a
jmp 0x47ff69
mov ecx, 0
test ebx, ebx
je 0x480017
push ebx
call fcn.004acda0
add esp, 4
mov ecx, eax
inc ecx
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x480af9
add esi, ecx
movzx ebx, byte [esp + 0xd0]
test ebx, ebx
je 0x47f68e
xor eax, eax
mov dword [esp + 0xc], eax
mov ecx, dword [esp + eax*4 + 0xd4]
mov eax, 0
test ecx, ecx
je 0x480054
push ecx
call fcn.004acda0
add esp, 4
inc eax
add esi, eax
mov eax, dword [esp + 0xc]
inc eax
cmp ebx, eax
je 0x47f686
jmp 0x480036
call fcn.004048c0
jmp 0x47efc0
push 0x5260a8
call fcn.00494ba0
add esp, 4
cmp dword [0x5260a8], 0xffffffff
jne 0x47f174
mov dword [0x5260a4], 0
mov dword [0x5260a0], 0xffffffff
mov ecx, 0x5260a0
push 0
call fcn.00404c70
push 0x5260a8
call fcn.00495b95
add esp, 4
jmp 0x47f174
call fcn.004048c0
jmp 0x47ee51
cmp eax, 7
je 0x47fabc
cmp eax, 6
jne 0x47fab1
mov byte [esp + edx + 0xd1], 7
jmp 0x47fabc
push 0x521410
call fcn.00494ba0
add esp, 4
cmp dword [0x521410], 0xffffffff
jne 0x47eb9e
mov ecx, 0x521210
push 0
call fcn.0041e1d0
push 0x521410
call fcn.00495b95
add esp, 4
jmp 0x47eb9e
push 0x524a28
call fcn.00494ba0
add esp, 4
cmp dword [0x524a28], 0xffffffff
jne 0x47ed2e
mov dword [0x524a20], 0xffffffff
xor eax, eax
mov dword [0x524a24], eax
mov ecx, 0x524a20
push eax
call fcn.00404c70
push 0x524a28
call fcn.00495b95
add esp, 4
jmp 0x47ed2e
push 0x524a2c
call fcn.004099e0
add esp, 4
test al, al
je 0x480b17
push 0x3c
call fcn.00494aa6
add esp, 4
mov esi, eax
mov ecx, eax
call fcn.0041dd00
mov dword [0x524a2c], esi
jmp 0x47ed0d
push 0x5211e0
call fcn.00494ba0
add esp, 4
cmp dword [0x5211e0], 0xffffffff
jne 0x47fd61
rdtsc
mov dword [0x5211d8], eax
mov dword [0x5211dc], edx
push 0x5211e0
call fcn.00495b95
add esp, 4
jmp 0x47fd61
push 0x5211cc
call fcn.00494ba0
add esp, 4
cmp dword [0x5211cc], 0xffffffff
jne 0x47ebdd
lea esi, [esp + 0xbc]
xorpd xmm0, xmm0
movupd xmmword [esi - 0x11], xmm0
movapd xmmword [esi - 0x1c], xmm0
movapd xmmword [esi - 0x2c], xmm0
mov ecx, esi
push 0x500430
call fcn.004be240
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x14], eax
lea esi, [esp + 0x90]
mov ecx, esi
push eax
call fcn.0041cf40
mov bl, byte [esi + 0x29]
cmp byte [esi + 0x43], 0
jns 0x480242
push dword [esp + 0xc8]
call fcn.00494aa1
add esp, 4
cmp byte [esp + 0xc7], 0
jns 0x48025b
push dword [esp + 0xbc]
call fcn.00494aa1
add esp, 4
mov byte [0x5211c8], bl
push 0x5211cc
call fcn.00495b95
add esp, 4
jmp 0x47ebdd
push 0x5211f0
call fcn.00494ba0
add esp, 4
cmp dword [0x5211f0], 0xffffffff
jne 0x47fd82
xor eax, eax
lea esi, [esp + 0x90]
mov dword [esi + 4], eax
mov dword [esi], eax
push esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [0x5211ec], ecx
mov dword [0x5211e8], eax
push 0x5211f0
call fcn.00495b95
add esp, 4
jmp 0x47fd82
mov eax, dword [esp + 0x14]
sub eax, dword [0x5211d8]
mov ecx, dword [esp + 0x1c]
sbb ecx, dword [0x5211dc]
movd xmm2, ecx
movd xmm0, eax
punpckldq xmm0, xmm2
punpckldq xmm0, xmmword [0x5049a0]
subpd xmm0, xmmword [0x5049b0]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x5211d0], xmm0
jmp 0x47fe20
cmp dword [esp + 0x30], 0
je 0x47f4e4
call fcn.004048c0
jmp 0x47f4c7
mov eax, dword [esp + 0xc]
jmp 0x47ff30
mov dword [esp + 0x14], 0
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], edx
xor esi, esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x24], 0
test al, 0x10
jne 0x480372
test cl, cl
je 0x48035c
cmp byte [esp + 0x24], 0
je 0x48053d
movzx ebx, byte [esp + 0x7b]
test bl, bl
jns 0x4804de
mov edi, dword [esp + 0x74]
jmp 0x4804e3
push pe_nt_image_headers32
call fcn.00494aa6
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x80], eax
sub esp, 0x3c
movsd xmm0, qword [esp + 0xcc]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xbc]
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x18], esi
movsx eax, byte [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
mov dword [esp + 0x5c], ecx
call fcn.0048fff0
mov eax, dword [esi + 4]
test eax, eax
je 0x480532
mov ecx, eax
mov al, 1
mov dword [esp + 0x24], eax
xor esi, esi
test cl, 1
je 0x4804a0
mov dword [esp + 0x30], ecx
call fcn.004bede0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x48069e
cmp dword [ecx + esi*4], 0
je 0x48049c
call fcn.004bede0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp eax, esi
jbe 0x48069e
mov edi, dword [ecx + esi*4]
mov eax, dword [edi]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push dword [esp + 0x20]
call ebx
xor ecx, ecx
test al, al
jne 0x480498
movzx ecx, byte [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x30]
mov eax, ecx
shr eax, 1
inc esi
cmp ecx, 1
mov ecx, eax
ja 0x480438
xor esi, esi
cmp byte [esp + 0x24], 0
mov eax, dword [esp + 0x20]
cmove esi, eax
test eax, eax
je 0x480525
cmp byte [esp + 0x24], 0
je 0x480525
mov edi, dword [esp + 0x20]
mov ecx, edi
call fcn.00487910
push edi
call fcn.00494aa1
add esp, 4
jmp 0x48035c
mov edi, ebx
and edi, 0x7f
test edi, edi
je 0x4804f5
push 2
call fcn.004817e0
add esp, 4
test al, al
jne 0x48056c
test esi, esi
je 0x480509
mov ecx, esi
call fcn.00487910
push esi
call fcn.00494aa1
add esp, 4
cmp byte [esp + 0x7b], 0
jns 0x47f6df
push dword [esp + 0x70]
call fcn.00494aa1
add esp, 4
jmp 0x47f6df
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
and cl, 1
jmp 0x48034d
mov al, 1
mov dword [esp + 0x24], eax
jmp 0x4804ac
cmp dword [esp + 0x14], 0
jne 0x480595
push 0x521214
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x480815
lea edx, [esp + 0x60]
mov ecx, 0x521210
push 1
call fcn.004d9230
add esp, 4
jmp 0x4805a2
lea ecx, [esp + 0x90]
push 2
push 0x774
push str....._base_trace_event_trace_log.cc
call fcn.004076e0
lea eax, [esp + 0x98]
test bl, bl
jns 0x4805dc
mov ecx, dword [esp + 0x70]
jmp 0x4805e0
lea edx, [esp + 0x60]
mov ecx, dword [esp + 0x14]
call fcn.004d8ac0
mov edi, eax
test eax, eax
je 0x4805b4
test esi, esi
je 0x4805fc
mov ecx, edi
push esi
call fcn.004deeb0
mov eax, dword [0x521300]
test al, 8
jne 0x4806bc
cmp dword [esp + 0x14], 0
jne 0x48035c
push 0x521214
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x48035c
lea ecx, [esp + 0x70]
push edi
push ecx
push eax
call fcn.004be490
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.00409090
jmp 0x4804f5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
sub esp, 0x3c
movsd xmm0, qword [esp + 0xbc]
movsd qword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0xa4]
movsd qword [esp + 4], xmm0
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
movsx eax, byte [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
mov ecx, edi
call fcn.00417de0
jmp 0x4805b4
push str.vector___index_out_of_bounds
push str.__n___size__
push 0x587
push str....._buildtools_third_partylibc_trunkinclude_vector
push str._s:_d:_assertion__s_failed:__s
call fcn.004be7c0
mov al, byte [ebp + 8]
cmp al, 0x58
movzx eax, al
mov ecx, 0x42
cmovne ecx, eax
movsx edx, cl
lea ecx, [esp + 0x90]
push edi
push dword [ebp + 0x2c]
call fcn.004d9380
add esp, 8
cmp byte [esp + 0x7b], 0
jns 0x4806f5
push dword [esp + 0x70]
call fcn.00494aa1
add esp, 4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x78], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x70], xmm0
jmp 0x4805c1
xor edx, esi
xor ecx, eax
or ecx, edx
je 0x480b21
mov ecx, 0x7fffffff
xor edi, edi
dec edi
mov edx, edi
add edx, 1
mov esi, 0x7fffffff
adc esi, 0
test eax, eax
cmovs edx, edi
mov dword [esp + 0x28], edx
cmovs esi, ecx
mov dword [esp + 0x2c], esi
jmp 0x47f06c
test ebx, ebx
mov eax, 0x4ffecc
cmovne eax, ebx
movsx ecx, byte [ebp + 8]
push dword [ebp + 0x30]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push eax
push dword [ebp + 0xc]
push ecx
call fcn.004e2780
add esp, 0x18
jmp 0x47ef7c
push 0x5213bc
call fcn.00455550
add esp, 4
jmp 0x47efab
push 0x5213bc
call fcn.00454d60
add esp, 4
jmp 0x47f72d
mov cl, 1
jmp 0x480331
mov eax, dword [ebp + 0x28]
cmp dword [edi + 8], eax
jne 0x47ef0b
xor eax, eax
dec eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
lea esi, [edi + 0xc]
movzx eax, byte [edi + 0x17]
test al, al
jns 0x4808fe
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
jmp 0x480903
push 0x521210
call fcn.00455550
add esp, 4
jmp 0x47f25f
mov ecx, 0x521214
call fcn.004597a0
jmp 0x47f2ff
lock dec dword [eax + 4]
jne 0x47f4a4
push eax
call fcn.0046f8d0
add esp, 4
jmp 0x47f4a4
mov ecx, 0x521214
call fcn.004597a0
jmp 0x480557
lea edi, [ebx - 1]
xor eax, eax
test ebx, edi
setne al
jmp 0x47f3d4
mov dword [esp + 0x20], edi
jae 0x47f448
movss xmm0, dword [0x5213d0]
orpd xmm0, xmmword [0x500420]
subsd xmm0, qword [0x500408]
cvtsd2ss xmm0, xmm0
divss xmm0, dword [0x5213d4]
sub esp, 8
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.004bd750
add esp, 8
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
cvttss2si ecx, xmm0
mov edx, ecx
subss xmm0, dword [0x500410]
cvttss2si eax, xmm0
sar edx, 0x1f
and eax, edx
or eax, ecx
cmp ebx, 3
jb 0x48099f
mov edx, ebx
shr edx, 1
and edx, 0x55555555
mov ecx, ebx
sub ecx, edx
mov edx, 0x33333333
mov edi, ecx
and edi, edx
shr ecx, 2
and ecx, edx
add ecx, edi
mov edx, ecx
shr edx, 4
add edx, ecx
and edx, 0xf0f0f0f
imul ecx, edx, 0x1010101
shr ecx, 0x18
cmp ecx, 1
ja 0x48099f
lea ecx, [eax - 1]
bsr ecx, ecx
xor ecx, 0x1f
neg cl
xor edi, edi
inc edi
shl edi, cl
cmp eax, 2
cmovb edi, eax
jmp 0x4809aa
call fcn.004bfb30
and eax, 0x7f
mov ecx, esi
xor edx, edx
inc edx
lea edi, [esp + 0x90]
push edx
push 0
push edx
push 0x4fff85
push eax
push ecx
push edi
call fcn.0048ee80
add esp, 0x1c
mov eax, dword [edi]
mov edi, dword [edi + 4]
sub esp, 0x14
mov cl, byte [esp + 0xa0]
mov byte [esp + 0x10], cl
lea ecx, [esp + 0x7c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
lea ebx, [esp + 0x84]
mov dword [esp], ebx
call fcn.004d9d60
add esp, 0x14
cmp dword [ebx], edi
je 0x48097e
mov eax, dword [esp + 0x90]
test eax, eax
je 0x47ef62
mov dword [esp + 0x94], eax
push eax
call fcn.00494aa1
add esp, 4
jmp 0x47ef62
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x94]
jne 0x480a3e
mov ecx, esi
push dword [esp + 0x68]
call fcn.00432240
jmp 0x48095a
push eax
call fcn.00481e70
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x20]
cmp eax, edi
cmova edi, eax
cmp edi, ebx
jae 0x47f448
test edi, edi
jne 0x47f3f1
mov eax, dword [0x5213c4]
mov dword [0x5213c4], 0
test eax, eax
je 0x4809df
push eax
call fcn.00494aa1
add esp, 4
mov dword [0x5213c8], 0
jmp 0x47f448
mov edi, eax
jmp 0x47f3e9
mov edi, eax
jmp 0x47f45d
lea eax, [edi - 1]
and edx, eax
jmp 0x47fa28
lea edx, [edi - 1]
and eax, edx
jmp 0x47fa5a
mov edx, dword [ecx]
mov dword [ebx], edx
mov edx, dword [0x5213c4]
mov edx, dword [edx + eax*4]
mov edx, dword [edx]
mov dword [ecx], edx
mov edx, dword [0x5213c4]
mov eax, dword [edx + eax*4]
mov dword [eax], ecx
mov ecx, ebx
mov eax, dword [esp + 0x34]
jmp 0x47fa77
and eax, ecx
jmp 0x47fbbd
mov ecx, esi
push 0x2c
call fcn.00475180
jmp 0x480992
call fcn.004daec0
mov ecx, eax
jmp 0x47fbf9
int3
xor eax, eax
jmp 0x47fad9
push ebx
mov dword [esp + 0x10], eax
call fcn.004daff0
add esp, 4
test al, al
mov eax, dword [esp + 0xc]
jne 0x47fbeb
jmp 0x47fc2f
sub ecx, edx
mov dword [esp + 0x18], ecx
je 0x480ace
mov ecx, edx
sub ecx, esi
sub ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov bl, byte [eax + ecx - 1]
mov byte [edx + ecx - 1], bl
test bl, bl
je 0x480ae5
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
add esi, ecx
inc esi
inc ecx
mov dword [esp + 0xc], ecx
cmp esi, 1
jne 0x480aa0
mov ecx, dword [esp + 0x18]
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
lea esi, [ecx + 1]
cmp byte [eax + ecx], 0
mov ecx, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], esi
jne 0x480ace
mov dword [esp + 0xb0], edx
add dword [esp + 0xc], edx
mov ecx, dword [esp + 0x1c]
jmp 0x47ff50
push eax
mov esi, ecx
call fcn.004acda0
mov ecx, esi
add esp, 4
mov esi, eax
inc esi
jmp 0x480022
mov esi, dword [esp + 0x18]
jmp 0x47ffed
mov eax, dword [0x524a2c]
jmp 0x47ed0d
int3