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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1d0
mov esi, esp
mov dword [esi + 0x1b8], ebp
mov dword [esi + 0x1bc], esp
mov dword [esi + 0x1c8], 0xffffffff
mov dword [esi + 0x1c4], 0x4b8740
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x18], edx
mov eax, dword fs:[0]
mov dword [esi + 0x1c0], eax
lea eax, [esi + 0x1c0]
mov dword fs:[0], eax
lea eax, [edx + 0x1c]
mov edi, dword [edx + 0x1c]
mov dword [edx + 0x1c], 0
mov dword [esi + 0x24], eax
test edi, edi
je 0x4b5f77
mov dword [esi + 0x70], edi
movzx eax, byte [edi + 0x40]
test al, al
jne 0x4b5e72
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esi + 0x1c8], 1
push eax
mov dword [esi + 4], edi
call ecx
mov ecx, dword [esi + 4]
add esp, 4
mov bl, 1
xchg byte [ecx + 0x30], bl
test bl, bl
je 0x4b5e2c
push edx
call dword [eax + 0xc]
mov edi, dword [esi + 4]
add esp, 4
jmp 0x4b5e72
mov dword [esi + 0xc], eax
mov eax, dword [ecx + 0x28]
mov dword [esi + 0x1c], edx
test eax, eax
je 0x4b5e52
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x1c8], 2
push ecx
call eax
add esp, 4
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 4]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x2c], eax
xor eax, eax
xchg byte [edi + 0x30], al
movzx eax, byte [edi + 0x40]
test al, al
je 0x4b65e3
mov al, 1
xchg byte [edi + 0x24], al
test al, al
je 0x4b64f6
mov dword [esi + 0x1c8], 1
call fcn.004e1150
mov byte [esi + 0xc], 2
push 0x19
push str.request_has_been_canceled
push eax
mov dword [esi + 4], eax
call fcn.0048f9a0
mov edi, dword [esi + 4]
add esp, 0xc
mov ebx, dword [esi + 0x70]
mov al, 1
mov dl, 1
xchg byte [ebx + 0x40], al
mov al, 1
xchg byte [ebx + 0x30], al
test al, al
jne 0x4b5ef4
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x2c]
xor edx, edx
mov dword [ebx + 0x28], 0
xchg byte [ebx + 0x30], dl
mov dl, 1
test ecx, ecx
je 0x4b5ef4
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0x1c8], 0
push eax
mov dword [esi + 4], edi
mov dword [esi + 0x1c], ebx
call ecx
mov ebx, dword [esi + 0x1c]
mov edi, dword [esi + 4]
mov dl, 1
add esp, 4
xchg byte [ebx + 0x3c], dl
test dl, dl
jne 0x4b5f2a
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x38]
xor edx, edx
mov dword [ebx + 0x34], 0
xchg byte [ebx + 0x3c], dl
test ecx, ecx
je 0x4b5f2a
mov ecx, dword [ecx + 4]
mov dword [esi + 0x1c8], 0
push eax
mov dword [esi + 4], edi
call ecx
mov edi, dword [esi + 4]
add esp, 4
mov eax, dword [esi + 0x70]
lock dec dword [eax]
jne 0x4b5f48
lea eax, [esi + 0x70]
mov dword [esi + 0x1c8], 0xffffffff
push eax
call fcn.0042dc60
add esp, 4
movzx edx, byte [esi + 0xc]
cmp dl, 4
je 0x4b72b0
movzx eax, dl
cmp eax, 3
je 0x4b5f77
cmp eax, 2
jne 0x4b652d
mov eax, dword [esi + 0x8c]
mov dword [eax], edi
mov byte [eax + 0x38], 2
jmp 0x4b72ba
mov eax, dword [esi + 0x18]
mov ebx, dword [eax + 0x18]
lea edi, [eax + 0x18]
test ebx, ebx
je 0x4b72a7
lea eax, [ebx + 8]
mov dword [esi + 0x1c8], 0xffffffff
mov dword [esi + 0x114], eax
push eax
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x69b824]
mov eax, dword [eax]
test eax, 0x7fffffff
jne 0x4b6ccc
mov dword [esi + 0xec], 0
mov dword [esi + 0x180], edi
movzx eax, byte [ebx + 0xc]
test al, al
jne 0x4b6ceb
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x1c8], 7
mov dword [esi + 0x1a8], eax
mov dword [esi + 0x1ac], ecx
mov dword [esi + 0x1b0], edx
lea eax, [ebx + 0x40]
push dword [esi + 0x18]
mov dword [esi + 0x14], eax
push eax
call fcn.004273c0
add esp, 8
mov dword [esi + 0xc], eax
cmp dword [esi + 0xc], 0
je 0x4b6411
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x4b65f0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xf0], eax
lea eax, [esi + 0x124]
mov dword [esi + 0xf4], ecx
mov dword [esi + 0x1c], eax
mov eax, ecx
jmp 0x4b606b
lea ecx, [esi + 0x128]
mov dword [esi + 0x1c8], 7
call fcn.004531a0
mov eax, dword [esi + 0xf4]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4b6411
dec ecx
mov dword [eax + 8], ecx
lea ebx, [ecx + ecx*2]
mov edi, dword [eax]
shl ebx, 4
mov eax, dword [edi + ebx]
mov edx, dword [edi + ebx + 8]
mov ecx, dword [edi + ebx + 4]
mov dword [esi + 4], eax
mov eax, dword [edi + ebx + 0x2c]
cmp edx, 0x3b9aca00
mov dword [esi + 0xe8], eax
movsd xmm0, qword [edi + ebx + 0x24]
movsd qword [esi + 0xe0], xmm0
movsd xmm0, qword [edi + ebx + 0x1c]
movsd qword [esi + 0xd8], xmm0
movsd xmm0, qword [edi + ebx + 0x14]
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [edi + ebx + 0xc]
movsd qword [esi + 0xc8], xmm0
je 0x4b6411
mov eax, dword [esi + 4]
movsd xmm1, qword [esi + 0xd8]
mov dword [esi + 0x11c], ecx
lea ecx, [esi + 0x124]
movsd xmm0, qword [esi + 0xe0]
movsd xmm2, qword [esi + 0xc8]
mov byte [esi + 3], 1
mov dword [esi + 0x1c8], 0x13
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x120], edx
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [esi + 0xd0]
movsd qword [ecx + 0x18], xmm0
movsd qword [ecx], xmm2
mov dword [ecx + 0x20], eax
lea eax, [esi + 0x128]
movsd qword [ecx + 8], xmm1
push eax
call fcn.004b8100
add esp, 4
test al, al
je 0x4b61c0
mov eax, dword [esi + 0x118]
mov edx, dword [esi + 0x120]
mov ecx, dword [esi + 0x11c]
mov byte [esi + 3], 1
push edx
push ecx
push eax
lea eax, [esi + 0x1a8]
push eax
call fcn.004dec50
add esp, 0x10
test al, al
je 0x4b6810
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
jne 0x4b61cb
mov eax, dword [0x69a14c]
movzx eax, byte [eax + 8]
test al, al
je 0x4b61cb
movzx ecx, al
cmp ecx, 1
je 0x4b6333
cmp ecx, 2
jne 0x4b6319
mov al, 2
jmp 0x4b6333
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x4b6207
lea ecx, [esi + 0x134]
mov dword [esi + 0x1c8], 0x17
call fcn.0043ae80
cmp byte [esi + 0x130], 2
je 0x4b6050
lea ecx, [esi + 0x128]
mov dword [esi + 0x1c8], 7
call fcn.004531a0
jmp 0x4b6065
mov eax, dword [0x69a150]
movzx eax, byte [eax + 8]
test al, al
je 0x4b61cb
movzx ecx, al
cmp ecx, 1
je 0x4b623b
cmp ecx, 2
jne 0x4b6225
mov al, 2
jmp 0x4b623b
mov byte [esi + 3], 1
push dword [0x69a150]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x4b61cb
mov ecx, dword [0x69a150]
movzx eax, al
mov byte [esi + 3], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x4b61cb
mov eax, dword [0x69a150]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4b74fe
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0xf8]
mov dword [esi + 0x28], 0x60df54
mov dword [esi + 0x2c], 1
mov dword [esi + 0x38], 0
mov byte [esi + 3], 1
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], 1
mov dword [esi + 0x90], edx
mov dword [esi + 0x94], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0x98], xmm0
mov dword [esi + 0xa0], 0
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x148], ecx
lea ecx, [esi + 0x148]
mov dword [esi + 0x14c], 0x421fa0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x90]
mov dword [esi + 0x34], 1
mov dword [esi + 0xf8], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x100], 0x60d714
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4b61cb
mov byte [esi + 3], 1
push dword [0x69a14c]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x4b61cb
mov ecx, dword [0x69a14c]
movzx eax, al
mov byte [esi + 3], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x4b61cb
mov eax, dword [0x69a14c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4b751b
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0xf8]
mov dword [esi + 0x28], 0x60df8c
mov dword [esi + 0x2c], 1
mov dword [esi + 0x38], 0
mov byte [esi + 3], 1
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], 1
mov dword [esi + 0x90], edx
mov dword [esi + 0x94], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0x98], xmm0
mov dword [esi + 0xa0], 0
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x148], ecx
lea ecx, [esi + 0x148]
mov dword [esi + 0x14c], 0x421fa0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x90]
mov dword [esi + 0x34], 1
mov dword [esi + 0xf8], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x100], 0x60d714
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4b61cb
lea eax, [esi + 0x124]
mov dword [esi + 0x98], 0x3b9aca00
mov dword [esi + 0x120], 0x3b9aca00
mov dword [esi + 4], 0x3b9aca00
mov dword [esi + 0xc], 0
mov dword [esi + 0x1c], eax
mov dword [esi + 0x1c8], 8
lea eax, [esi + 0x28]
push dword [esi + 0x18]
push dword [esi + 0x14]
push eax
call fcn.00426cf0
add esp, 0xc
mov eax, dword [esi + 0x28]
mov edi, dword [esi + 4]
lea ebx, [esi + 0x28]
test eax, eax
je 0x4b649d
mov dword [esi + 0x14], eax
mov dword [esi + 0x1c8], 0x11
push ebx
call fcn.00473890
add esp, 4
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x14]
lea ebx, [esi + 0x28]
test eax, eax
je 0x4b649d
shl eax, 4
lea eax, [eax + eax*2]
push 8
push eax
push ecx
call fcn.00407080
add esp, 0xc
cmp edi, 0x3b9aca00
jne 0x4b71bd
mov eax, dword [esi + 0x24]
cmp dword [eax], 0
je 0x4b6761
mov eax, dword [esi + 0x1c]
mov edi, dword [esi + 0x120]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd xmm2, qword [eax + 0x10]
movsd qword [esi + 0x160], xmm1
movsd xmm1, qword [eax + 0x18]
movsd qword [esi + 0x158], xmm0
movsd qword [esi + 0x168], xmm2
movsd qword [esi + 0x170], xmm1
jmp 0x4b725e
movzx eax, byte [edi + 0x21]
movzx ecx, word [edi + 0x22]
mov byte [edi + 0x21], 2
cmp al, 2
jne 0x4b65a8
xor eax, eax
xchg byte [edi + 0x24], al
mov dword [esi + 0x1c8], 1
mov dword [esi + 0x1c8], 1
call fcn.004e1150
jmp 0x4b5e8e
mov ecx, dword [esi + 0x8c]
movsd xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xc0]
movsd xmm2, qword [esi + 0xa8]
movsd xmm0, qword [esi + 0xb8]
movsd qword [ecx + 0x24], xmm1
movsd xmm1, qword [esi + 0xa0]
mov dword [ecx + 0x34], eax
movsd qword [ecx + 0x1c], xmm2
movsd xmm2, qword [esi + 0x90]
movzx eax, word [esi + 0x188]
movsd qword [ecx + 0x2c], xmm0
movsd qword [ecx + 0x14], xmm1
movsd xmm1, qword [esi + 0x98]
movsd qword [ecx + 4], xmm2
movsd qword [ecx + 0xc], xmm1
mov word [ecx + 0x39], ax
mov ah, byte [esi + 0x18a]
mov byte [ecx + 0x3b], ah
mov dword [ecx], edi
mov byte [ecx + 0x38], dl
jmp 0x4b72ba
lea edx, [edi + 8]
mov ah, byte [edx + 0x18]
mov byte [esi + 0x170], ah
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x168], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
xor edx, edx
cmp al, 3
movsd qword [esi + 0x160], xmm1
movsd qword [esi + 0x158], xmm0
xchg byte [edi + 0x24], dl
jne 0x4b661e
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
jmp 0x4b72b0
mov edx, dword [0x69a124]
movzx eax, byte [edx + 8]
test al, al
je 0x4b6029
movzx ecx, al
cmp ecx, 1
je 0x4b6d40
cmp ecx, 2
jne 0x4b6d29
mov al, 2
jmp 0x4b6d40
movzx edx, byte [esi + 0x170]
movsd xmm0, qword [esi + 0x168]
movsd xmm2, qword [esi + 0x158]
movsd xmm1, qword [esi + 0x160]
mov byte [esi + 0xb], 1
mov dword [esi + 0x1c8], 3
mov byte [esi + 0xe0], dl
movsd qword [esi + 0xd8], xmm0
movsd qword [esi + 0xd0], xmm1
movsd qword [esi + 0xc8], xmm2
mov byte [esi + 0xe1], al
lea eax, [esi + 0xc8]
mov word [esi + 0xe2], cx
push eax
call fcn.004b8100
add esp, 4
test al, al
je 0x4b6a62
mov eax, dword [esi + 0xe0]
mov edi, dword [esi + 0x18]
movsd xmm0, qword [esi + 0xd8]
movsd xmm2, qword [esi + 0xc8]
movsd xmm1, qword [esi + 0xd0]
mov byte [esi + 0xb], 0
lea ecx, [esi + 0x28]
mov dword [esi + 0x130], eax
lea eax, [esi + 0x118]
lea edx, [edi + 0x18]
movsd qword [esi + 0x128], xmm0
movsd qword [esi + 0x120], xmm1
movsd qword [esi + 0x118], xmm2
push eax
push edi
call fcn.004ad780
add esp, 8
mov eax, dword [esi + 0x5c]
movsd xmm1, qword [esi + 0x34]
movsd xmm2, qword [esi + 0x3c]
movsd xmm0, qword [esi + 0x2c]
mov edi, dword [esi + 0x28]
mov dword [esi + 0xc0], eax
movzx eax, byte [esi + 0x60]
movsd qword [esi + 0x98], xmm1
movsd xmm1, qword [esi + 0x44]
movsd qword [esi + 0xa0], xmm2
movsd xmm2, qword [esi + 0x4c]
movsd qword [esi + 0x90], xmm0
mov byte [esi + 0xc], al
movzx eax, word [esi + 0x61]
movsd qword [esi + 0xa8], xmm1
movsd xmm1, qword [esi + 0x54]
movsd qword [esi + 0xb0], xmm2
mov word [esi + 0x188], ax
movzx eax, byte [esi + 0x63]
movsd qword [esi + 0xb8], xmm1
mov byte [esi + 0x18a], al
jmp 0x4b5ea8
mov byte [esi + 0x49], 2
mov byte [esi + 0x4c], 0
mov dword [esi + 0x50], 0
mov byte [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov byte [esi + 0x64], 0
mov byte [esi + 0x68], 0
mov dword [esi + 0x28], 1
mov dword [esi + 0x2c], 1
movzx eax, byte [0x69b8b9]
push 4
push 0x44
call fcn.00407070
add esp, 8
test eax, eax
je 0x4b753c
mov edi, eax
push 0x44
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lock inc dword [edi]
jle 0x4b7538
mov eax, dword [0x69b710]
mov dword [esi + 0x184], edi
mov dword [esi + 0xf0], edi
mov eax, dword [eax]
mov dword [esi + 4], edi
test eax, eax
je 0x4b6aff
mov eax, dword [esi + 0x18]
movzx eax, byte [eax]
test eax, eax
je 0x4b6e22
cmp eax, 1
jne 0x4b6e26
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c8], 0xf
mov cl, 1
movzx eax, byte [eax + 1]
jmp 0x4b6e8a
lea ecx, [esi + 0x128]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov eax, dword [ecx + 0x18]
movsd xmm2, qword [ecx + 0x10]
movsd qword [esi + 0x30], xmm1
mov dword [esi + 0x40], eax
movsd qword [esi + 0x38], xmm2
movsd qword [esi + 0x28], xmm0
movzx eax, byte [esi + 0x30]
cmp al, 2
mov byte [esi + 4], al
jne 0x4b6b37
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c8], 0x16
mov dword [esi + 0x70], ecx
mov dword [esi + 0x20], eax
mov dword [esi + 0x74], eax
lea eax, [esi + 0x34]
mov dword [esi + 0x110], ecx
push eax
lea eax, [esi + 0x90]
push eax
call fcn.004e7190
add esp, 8
mov ebx, dword [esi + 0x110]
lock inc dword [ebx]
jle 0x4b7538
mov eax, dword [esi + 0x20]
lock inc dword [eax + 0xe8]
lock inc dword [eax]
jle 0x4b7538
movsd xmm1, qword [esi + 0x95]
movzx edx, byte [esi + 0x9d]
lea eax, [esi + 0x34]
movsd xmm0, qword [esi + 0x90]
movzx edi, word [esi + 0x9e]
mov ecx, dword [esi + 0x70]
movsd xmm2, qword [eax]
movsd qword [esi + 0x150], xmm1
movsd xmm1, qword [eax + 8]
mov eax, dword [esi + 0x74]
cmp dl, 2
movsd qword [esi + 0x14b], xmm0
movsd qword [esi + 0xfb], xmm2
movsd qword [esi + 0x103], xmm1
je 0x4b6b98
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
movsd xmm0, qword [esi + 0x100]
mov eax, dword [esi + 0x107]
mov byte [esi + 0x78], 2
movsd xmm1, qword [esi + 0x150]
mov dword [esi + 0x90], ebx
movsd xmm2, qword [esi + 0x148]
mov byte [esi + 0x13], 1
mov dword [esi + 0x1c8], 0x14
movsd qword [esi + 0x81], xmm0
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x94], eax
mov byte [esi + 0x98], 2
movsd qword [esi + 0xa1], xmm1
movsd xmm1, qword [esi + 0xf8]
mov eax, dword [esi + 0xf4]
movsd qword [esi + 0x99], xmm2
mov byte [esi + 0xa9], dl
mov word [esi + 0xaa], di
movsd qword [esi + 0x79], xmm1
mov dword [esi + 4], eax
call fcn.005423f0
mov edi, dword [esi + 0x88]
movsd xmm0, qword [esi + 0x80]
movsd xmm2, qword [esi + 0x70]
movsd xmm1, qword [esi + 0x78]
mov dword [esi + 0x50], edi
mov edi, dword [esi + 4]
movsd qword [esi + 0x48], xmm0
movsd qword [esi + 0x40], xmm1
movsd qword [esi + 0x38], xmm2
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], ecx
mov ecx, dword [edi + 8]
cmp ecx, dword [edi + 4]
jne 0x4b69df
mov dword [esi + 0x1c8], 0x15
push ecx
push edi
call fcn.00485960
add esp, 8
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi]
movsd xmm0, qword [esi + 0x28]
movsd xmm1, qword [esi + 0x30]
movsd xmm2, qword [esi + 0x38]
movsd xmm3, qword [esi + 0x40]
movsd xmm4, qword [esi + 0x48]
movsd xmm5, qword [esi + 0x50]
lea ecx, [ecx + ecx*2]
lea eax, [esi + 0x99]
mov ebx, dword [esi + 0x110]
shl ecx, 4
movsd qword [edx + ecx + 0x28], xmm5
movsd qword [edx + ecx + 0x20], xmm4
movsd qword [edx + ecx + 0x18], xmm3
movsd qword [edx + ecx + 0x10], xmm2
movsd qword [edx + ecx + 8], xmm1
movsd qword [edx + ecx], xmm0
inc dword [edi + 8]
mov edx, dword [esi + 0x20]
movzx ecx, byte [esi + 0x98]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0xf]
movsd qword [esi + 0x30], xmm1
mov byte [esi + 4], cl
movsd qword [esi + 0x28], xmm0
mov dword [esi + 0x37], eax
jmp 0x4b6bbf
mov byte [esi + 0xb], 1
call fcn.004e1150
mov dword [esi + 0x28], eax
mov edi, eax
mov eax, dword [eax]
mov dword [esi + 4], edi
test eax, eax
je 0x4b6aaf
mov ecx, dword [edi + 4]
mov dword [esi + 0x1c8], 4
mov dword [esi + 0x1c], eax
push eax
mov dword [esi + 0xc], ecx
call dword [ecx]
add esp, 4
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
mov eax, dword [edx + 4]
test eax, eax
je 0x4b6aaf
push dword [edx + 8]
push eax
push ecx
call fcn.00407080
add esp, 0xc
lea ecx, [esi + 0xd4]
mov dword [edi], 1
mov dword [edi + 4], 0x60b974
mov dword [esi + 0x1c8], 5
call fcn.0043ae80
cmp byte [esi + 0xd0], 2
jne 0x4b70ac
lea ecx, [esi + 0xc8]
mov dword [esi + 0x1c8], 1
mov byte [esi + 0xc], 2
call fcn.004531a0
mov edi, dword [esi + 4]
jmp 0x4b5ea8
mov edx, dword [0x69a120]
movzx eax, byte [edx + 8]
test al, al
je 0x4b67e1
movzx ecx, al
cmp ecx, 1
je 0x4b7414
cmp ecx, 2
jne 0x4b73e8
mov dword [esi + 0x1c8], 0xa
mov al, 2
jmp 0x4b7414
movzx edx, word [esi + 0x31]
movsd xmm0, qword [esi + 0x34]
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov word [esi + 0x90], dx
movzx edx, byte [esi + 0x33]
mov byte [esi + 0x92], dl
movsd qword [esi + 0x93], xmm0
movsd xmm0, qword [esi + 0x3c]
movsd qword [esi + 0x9b], xmm0
movsd xmm0, qword [esi + 0x90]
movsd xmm1, qword [esi + 0x98]
mov edx, dword [esi + 0x9f]
movsd qword [esi + 0x100], xmm1
movsd qword [esi + 0xf8], xmm0
mov dword [esi + 0x107], edx
mov edx, dword [esi + 0x107]
movsd xmm0, qword [esi + 0xf8]
movsd xmm1, qword [esi + 0x100]
mov ebx, ecx
mov dword [esi + 0x37], edx
movsd qword [esi + 0x30], xmm1
movsd qword [esi + 0x28], xmm0
mov edx, eax
movsd xmm0, qword [esi + 0x30]
mov eax, dword [esi + 0x37]
mov ecx, dword [esi + 0x11c]
mov edi, dword [esi + 0x120]
movsd qword [esi + 0xb1], xmm0
movsd xmm0, qword [esi + 0x28]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0xc]
movsd qword [esi + 0xa9], xmm0
cmp dword [eax + 8], 0
mov eax, dword [esi + 0x118]
mov dword [esi + 0x94], ecx
mov dword [esi + 0x90], eax
mov dword [esi + 0x98], edi
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa4], edx
movzx edx, byte [esi + 4]
mov byte [esi + 0xa8], dl
sete byte [esi + 0xc0]
movsd xmm1, qword [esi + 0x9c]
mov edx, dword [esi + 0xbc]
movsd xmm0, qword [esi + 0xa4]
movsd xmm2, qword [esi + 0xac]
movsd qword [esi + 0x124], xmm1
movsd xmm1, qword [esi + 0xb4]
mov dword [esi + 0x144], edx
movsd qword [esi + 0x12c], xmm0
movsd qword [esi + 0x134], xmm2
movsd qword [esi + 0x13c], xmm1
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x118], eax
mov dword [esi + 0x120], edi
je 0x4b709f
lea eax, [esi + 0x9c]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esi + 0x168], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x170], xmm0
movsd qword [esi + 0x158], xmm2
movsd qword [esi + 0x160], xmm1
jmp 0x4b725e
call fcn.0059fdf0
xor al, 1
mov dword [esi + 0xec], eax
mov dword [esi + 0x180], edi
movzx eax, byte [ebx + 0xc]
test al, al
je 0x4b5fd0
mov eax, dword [esi + 0x114]
mov dword [esi + 0x1c8], 6
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xec]
mov byte [esi + 0x2c], al
lea eax, [esi + 0x28]
push 0x60dc8c
push 0x60d5dc
push eax
push 0x2b
push 0x60d5b0
call fcn.005a0ed0
add esp, 0x14
jmp 0x4b75d1
push edx
call fcn.0059e2f0
add esp, 4
mov edx, dword [0x69a124]
test al, al
je 0x4b6029
movzx eax, al
push eax
push dword [edx]
call fcn.005313d0
add esp, 8
test al, al
mov eax, dword [0x69a124]
je 0x4b6029
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4b759f
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0x28], 0x60dd50
mov dword [esi + 0x2c], 2
mov dword [esi + 0x38], 0
mov dword [esi + 0x90], edx
mov dword [esi + 0x94], ecx
mov ecx, dword [esi + 0x18]
movlps qword [esi + 0x98], xmm0
mov dword [esi + 0xa0], 0
mov dword [esi + 0x118], ecx
lea ecx, [esi + 0x1a8]
mov dword [esi + 0x11c], 0x424940
mov dword [esi + 0x120], ecx
lea ecx, [esi + 0x118]
mov dword [esi + 0x124], 0x4b4fa0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x90]
mov dword [esi + 0x34], 2
mov dword [esi + 0x70], ecx
lea ecx, [esi + 0x28]
mov dword [esi + 0x74], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x78], 0x60d714
mov dword [esi + 0xc8], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd0], ecx
lea ecx, [esi + 0xc8]
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4b6029
xor ecx, ecx
jmp 0x4b6e8a
mov eax, dword [esi + 0x18]
mov byte [esi + 1], 1
mov byte [esi + 2], 1
mov dword [esi + 0x1c8], 0xa
mov eax, dword [eax + 4]
mov dword [esi + 0x20], eax
call fcn.0048f360
mov dword [esi + 0x14], eax
mov edi, dword [esi + 0x20]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 4]
add edi, 0xc
mov eax, dword [eax]
mov dword [esi + 0x1c8], 0x10
push edx
push ecx
push edi
lea ecx, [esi + 0x28]
push ecx
call eax
add esp, 0x10
movsd xmm0, qword [esi + 0x28]
mov edx, dword [esi + 0x14]
movsd xmm1, qword [esi + 0x30]
mov cl, 2
lea ebx, [esi + 0x28]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov edi, dword [esi + 0x18]
mov byte [esi + 0x70], cl
mov byte [esi + 0x71], al
mov dword [esi + 0x20], ecx
mov dword [esi + 0x14], edx
mov dword [esi + 0x74], edx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
lea edx, [edi + 0x14]
mov edi, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x1c8], 0xf
push edi
push ecx
push edx
push ebx
call eax
add esp, 0x10
mov eax, dword [esi + 0x17c]
movsd xmm0, qword [esi + 0x28]
movsd xmm1, qword [esi + 0x30]
lea ecx, [esi + 0x70]
mov byte [esi + 1], 1
mov byte [esi + 2], 1
mov dword [esi + 0x1c8], 0xa
movsd qword [esi + 0x80], xmm1
movsd qword [esi + 0x78], xmm0
add eax, 0x60
push ecx
push eax
lea eax, [esi + 0x28]
push eax
call fcn.00425f40
add esp, 0xc
movzx eax, byte [esi + 0x28]
cmp al, 3
jne 0x4b6f69
movsd xmm0, qword [esi + 0x44]
movsd xmm1, qword [esi + 0x3c]
movsd xmm2, qword [esi + 0x2c]
movsd xmm3, qword [esi + 0x34]
lea eax, [esi + 0x28]
mov byte [esi + 1], 1
mov byte [esi + 2], 1
movsd qword [esi + 0xe3], xmm0
movsd qword [esi + 0xdb], xmm1
movsd qword [esi + 0xd3], xmm3
movsd qword [esi + 0xcb], xmm2
movsd qword [esi + 0x40], xmm0
movsd qword [esi + 0x38], xmm1
movsd qword [esi + 0x30], xmm3
movsd qword [esi + 0x28], xmm2
push eax
call fcn.00425c50
add esp, 4
jmp 0x4b7000
mov ecx, dword [esi + 0x48]
movsd xmm0, qword [esi + 0x41]
movsd xmm1, qword [esi + 0x29]
movsd xmm3, qword [esi + 0x39]
movsd xmm2, qword [esi + 0x31]
mov dword [esi + 0x78], 0
mov dword [esi + 0x7c], 0
mov dword [esi + 0x70], 4
mov dword [esi + 0x74], 0
mov dword [esi + 0xe7], ecx
movsd qword [esi + 0xe0], xmm0
mov ecx, dword [esi + 0x4c]
mov byte [esi + 0x28], al
movsd qword [esi + 0xc8], xmm1
movsd qword [esi + 0x29], xmm1
movsd qword [esi + 0xd8], xmm3
movsd qword [esi + 0xd0], xmm2
movsd qword [esi + 0x31], xmm2
movsd qword [esi + 0x39], xmm3
movsd xmm1, qword [esi + 0xe0]
mov eax, dword [esi + 0xe7]
movsd qword [esi + 0x41], xmm1
mov dword [esi + 0x48], eax
lea eax, [esi + 0x70]
mov dword [esi + 0x4c], ecx
push eax
lea eax, [esi + 0x28]
push eax
call fcn.00425b40
add esp, 8
mov edi, dword [esi + 4]
mov dword [esi + 0x28], edi
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
cmp ebx, ecx
jne 0x4b7030
mov ecx, eax
mov dword [esi + 0x1c8], 0xc
mov dword [esi + 0x14], eax
call fcn.00416e40
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 4]
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
add ebx, dword [eax + 8]
xor edx, edx
cmp ebx, ecx
cmovae edx, ecx
sub ebx, edx
mov edx, dword [eax]
mov dword [edx + ebx*4], edi
inc dword [eax + 0xc]
mov edi, dword [esi + 0xf0]
movzx eax, byte [edi + 0x40]
test al, al
jne 0x4b710f
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ecx]
mov byte [esi + 1], 1
mov byte [esi + 2], 0
mov dword [esi + 0x1c8], 0xa
push eax
mov dword [esi + 4], edi
call ecx
mov ecx, dword [esi + 4]
add esp, 4
mov bl, 1
xchg byte [ecx + 0x30], bl
test bl, bl
je 0x4b70cd
mov eax, dword [eax + 0xc]
mov byte [esi + 1], 1
mov byte [esi + 2], 0
push edx
call eax
mov edi, dword [esi + 4]
add esp, 4
jmp 0x4b710f
mov al, 1
mov dword [esi + 4], edi
mov dword [esi + 0xc], eax
jmp 0x4b643c
lea ecx, [esi + 0xc8]
mov dword [esi + 0x1c8], 1
mov byte [esi + 0xc], 2
call fcn.004531a0
mov edi, dword [esi + 4]
jmp 0x4b5ea8
mov dword [esi + 0x20], eax
mov eax, dword [ecx + 0x28]
mov dword [esi + 0x14], edx
test eax, eax
je 0x4b70f3
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0xc]
mov ecx, dword [ecx + 0x2c]
mov dword [esi + 0x1c8], 0xb
push ecx
call eax
add esp, 4
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 4]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x2c], eax
xor eax, eax
xchg byte [edi + 0x30], al
movzx eax, byte [edi + 0x40]
test al, al
je 0x4b716a
mov al, 1
xchg byte [edi + 0x24], al
test al, al
jne 0x4b7559
movzx eax, byte [edi + 0x21]
movzx ecx, word [edi + 0x22]
mov byte [edi + 0x21], 2
cmp al, 2
je 0x4b7554
lea edx, [edi + 8]
mov ah, byte [edx + 0x18]
mov byte [esi + 0x40], ah
movsd xmm0, qword [edx + 0x10]
movsd qword [esi + 0x38], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [esi + 0x30], xmm1
movsd qword [esi + 0x28], xmm0
mov byte [esi + 0x41], al
mov word [esi + 0x42], cx
xor ecx, ecx
cmp al, 3
xchg byte [edi + 0x24], cl
jne 0x4b7567
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0xf0]
cmp dword [ecx], 0
mov dword [esi + 4], eax
je 0x4b71af
mov dword [esi + 0x1c8], 0xe
push dword [esi + 0x24]
call fcn.00490100
add esp, 4
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
lock dec dword [eax]
jne 0x4b71af
mov dword [esi + 0x1c8], 0xd
push dword [esi + 0x24]
call fcn.0042dc60
add esp, 4
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x24]
mov edi, dword [esi + 0x98]
mov dword [ecx], eax
mov eax, edi
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0xc]
cmp edi, 0x3b9aca00
mov edi, dword [esi + 0x120]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd xmm2, qword [eax + 0x10]
movsd qword [esi + 0x160], xmm1
movsd xmm1, qword [eax + 0x18]
sete al
movsd qword [esi + 0x158], xmm0
movsd qword [esi + 0x168], xmm2
or cl, al
movsd qword [esi + 0x170], xmm1
jne 0x4b725e
lea ecx, [esi + 0xac]
mov dword [esi + 4], edi
mov dword [esi + 0x1c8], 0x12
call fcn.0043ae80
cmp byte [esi + 0xa8], 2
jne 0x4b7246
lea ecx, [esi + 0xa0]
mov dword [esi + 0x1c8], 7
call fcn.004531a0
mov edi, dword [esi + 4]
jmp 0x4b725e
lea ecx, [esi + 0xa0]
mov dword [esi + 0x1c8], 7
call fcn.004531a0
mov edi, dword [esi + 4]
cmp byte [esi + 0xec], 0
jne 0x4b7283
mov eax, dword [0x69b824]
mov eax, dword [eax]
mov dword [esi + 0x1c8], 0xffffffff
test eax, 0x7fffffff
jne 0x4b73cc
mov dword [esi + 0x1c8], 0xffffffff
push dword [esi + 0x114]
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
cmp edi, 0x3b9aca00
mov edi, dword [esi + 0x180]
jne 0x4b7319
mov byte [esi + 0x60], 2
cmp dword [edi], 0
je 0x4b72ce
mov eax, dword [esi + 0x8c]
mov byte [eax + 0x38], 3
mov eax, dword [esi + 0x1c0]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x1c8], 0x18
call fcn.004e1150
push 0x10
push str.pool_is_disabledx
push eax
mov dword [esi + 4], eax
call fcn.0048f9a0
mov ecx, dword [esi + 4]
add esp, 0xc
mov eax, dword [esi + 0x8c]
cmp byte [esi + 0x60], 2
mov dword [eax], ecx
mov byte [eax + 0x38], 2
je 0x4b72ba
lea ecx, [esi + 0x28]
mov dword [esi + 0x1c8], 0xffffffff
call fcn.004a6300
jmp 0x4b72ba
mov eax, dword [esi + 0x174]
movsd xmm0, qword [esi + 0x16c]
movsd xmm2, qword [esi + 0x15c]
movsd xmm1, qword [esi + 0x164]
lea ecx, [esi + 0x28]
mov edx, edi
mov dword [esi + 0x1a0], eax
lea eax, [esi + 0x188]
movsd qword [esi + 0x198], xmm0
movsd qword [esi + 0x190], xmm1
movsd qword [esi + 0x188], xmm2
push eax
push dword [esi + 0x18]
call fcn.004ad780
add esp, 8
cmp byte [esi + 0x60], 2
je 0x4b72ab
mov ecx, dword [esi + 0x8c]
movsd xmm2, qword [esi + 0x50]
movsd xmm1, qword [esi + 0x48]
mov eax, dword [esi + 0x60]
movsd xmm0, qword [esi + 0x58]
movsd qword [ecx + 0x28], xmm2
movsd qword [ecx + 0x20], xmm1
movsd xmm2, qword [esi + 0x40]
movsd xmm1, qword [esi + 0x38]
mov dword [ecx + 0x38], eax
movsd qword [ecx + 0x30], xmm0
movsd qword [ecx + 0x18], xmm2
movsd qword [ecx + 0x10], xmm1
movsd xmm2, qword [esi + 0x28]
movsd xmm1, qword [esi + 0x30]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
jmp 0x4b72ba
call fcn.0059fdf0
test al, al
jne 0x4b7283
mov eax, dword [esi + 0x17c]
mov byte [eax + 0xc], 1
jmp 0x4b7283
mov byte [esi + 1], 1
mov byte [esi + 2], 1
mov dword [esi + 0x1c8], 0xa
push edx
call fcn.0059e2f0
add esp, 4
mov edx, dword [0x69a120]
test al, al
lea ebx, [esi + 0x28]
je 0x4b67e1
mov ecx, dword [edx]
movzx eax, al
mov byte [esi + 1], 1
mov byte [esi + 2], 1
mov dword [esi + 0x1c8], 0xa
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
mov eax, dword [0x69a120]
lea ebx, [esi + 0x28]
je 0x4b67e1
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4b75b5
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0x28], 0x60dcd4
mov dword [esi + 0x2c], 1
mov dword [esi + 0x38], 0
mov byte [esi + 1], 1
mov byte [esi + 2], 1
mov dword [esi + 0xc8], edx
mov dword [esi + 0xcc], ecx
lea ecx, [esi + 0x148]
movlps qword [esi + 0xd0], xmm0
mov dword [esi + 0xd8], 0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x34], 1
mov dword [esi + 0xf8], ecx
lea ecx, [esi + 0xf8]
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], 0x60d714
mov dword [esi + 0x70], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x74], 1
mov dword [esi + 0x78], ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x148], ecx
lea ecx, [esi + 0x70]
mov dword [esi + 0x14c], 0x424940
push ecx
push eax
call fcn.00531b00
add esp, 8
lea ebx, [esi + 0x28]
jmp 0x4b67e1
mov byte [esi + 3], 1
push 0x60df24
push 0x22
push 0x60d6c8
call fcn.005a0a40
add esp, 0xc
jmp 0x4b75d1
mov byte [esi + 3], 1
push 0x60df5c
push 0x22
push 0x60d6c8
call fcn.005a0a40
add esp, 0xc
jmp 0x4b75d1
ud2
mov dword [esi + 0x1c8], 9
push 0x44
push 4
call fcn.005a08c0
add esp, 8
jmp 0x4b75d1
xor eax, eax
xchg byte [edi + 0x24], al
mov byte [esi + 0x41], 2
mov dword [esi + 0x1c8], 0xa
lea ecx, [esi + 0x28]
mov byte [esi + 1], 1
mov byte [esi + 2], 0
mov dword [esi + 0x1c8], 0xa
call fcn.004a7910
mov byte [esi + 1], 1
mov byte [esi + 2], 0
push 0x60dd18
push 0x39
push str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
call fcn.005a0b60
add esp, 0xc
jmp 0x4b75d1
push 0x60dd28
push 0x22
push 0x60d6c8
call fcn.005a0a40
add esp, 0xc
jmp 0x4b75d1
mov byte [esi + 1], 1
mov byte [esi + 2], 1
push 0x60dc9c
push 0x22
push 0x60d6c8
call fcn.005a0a40
add esp, 0xc
ud2