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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx]
and dword [ecx], 0
test eax, eax
je 0x51d3d0
mov esi, dword [eax]
push 0x3c
pop ecx
push 4
pop edx
call fcn.0042238e
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
and dword [edi + 8], 0
mov dword [edi + 0xc], 0x80000001
lock inc dword [edi]
jle 0x51d3bc
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
call fcn.0050e2a0
test eax, eax
je 0x51d3e2
movsd xmm0, qword [eax + 8]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
xor esi, esi
inc esi
movsd qword [esp], xmm0
movsd xmm0, qword [0x6509f8]
mov dword [esp + 0x50], ecx
add ecx, esi
mov dword [eax], ecx
mov ecx, ebx
adc ecx, 0
mov dword [eax + 4], ecx
movsd qword [esp + 0xfc], xmm0
movsd xmm0, qword [0x6509f0]
movsd qword [esp + 0xf4], xmm0
mov eax, dword [esp + 0x100]
movsd xmm0, qword [esp + 0xf0]
movsd xmm1, qword [esp + 0xf8]
mov dword [esp + 0xc0], eax
movsd qword [esp + 0xb0], xmm0
movsd qword [esp + 0xb8], xmm1
push 0x30
pop ecx
push 8
pop edx
call fcn.00402d58
mov dword [eax], esi
mov dword [eax + 4], esi
and dword [eax + 8], 0
movsd xmm0, qword [esp + 0xb0]
movq xmm1, qword [esp + 0xb8]
movsd qword [eax + 0xc], xmm0
movq qword [eax + 0x14], xmm1
movq xmm0, qword [esp]
mov ecx, dword [esp + 0xc0]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x24], ebx
mov ebx, eax
mov dword [ebx + 0x20], ecx
movq qword [ebx + 0x28], xmm0
lock inc dword [ebx]
jle 0x51d3bc
lea eax, [edi + 8]
lea ecx, [esp + 0xf0]
mov dword [esp + 0x94], eax
mov eax, edi
and dword [ecx], 0
add eax, 0xc
mov dword [esp + 0x90], eax
lea eax, [ebx + 4]
mov dword [esp + 0x2c], eax
call fcn.0042c5d8
lea esi, [esp + 0xf0]
mov dword [esp + 0x50], eax
mov ecx, esi
call fcn.00427f9f
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp], ebx
mov ebx, dword [esi + 8]
lea esi, [esp + 0xf0]
mov dword [esp + 0x28], ecx
mov ecx, esi
mov dword [esp + 8], eax
mov dword [esp + 0x24], edx
call fcn.00427f9f
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x198]
mov edx, dword [esp]
mov dword [ecx - 0x10], ebx
mov ebx, dword [esp + 0x2c]
mov dword [ecx - 0xc], eax
mov eax, dword [esp + 8]
mov dword [ecx - 8], eax
mov eax, dword [esp + 0x24]
mov dword [ecx - 4], eax
mov eax, dword [esi + 8]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov eax, dword [esi]
mov dword [ecx + 8], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 0x14], 0xfca952d
mov dword [ecx + 0x10], 0x5c44100b
mov dword [ecx + 0x18], eax
lea eax, [esp + 0x1c4]
mov dword [ecx + 0x1c], edx
mov byte [ecx + 0x20], 0
mov dword [ecx + 0x28], edx
and dword [eax], 0
push 0xc
pop ecx
push 4
pop edx
call fcn.0042238e
mov edx, eax
xor eax, eax
inc eax
lea esi, [edx + 4]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], edi
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x51c5ee
test eax, eax
js 0x51d3b0
lea ecx, [eax + 1]
lock cmpxchg dword [ebx], ecx
jne 0x51c5d6
jmp 0x51c5f2
pause
jmp 0x51c5d4
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x51c60c
test eax, eax
js 0x51d3b0
lea ecx, [eax + 1]
lock cmpxchg dword [esi], ecx
jne 0x51c5f4
jmp 0x51c610
pause
jmp 0x51c5f2
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x1c0]
mov dword [esp + 0x28], edx
lea ecx, [esi + 8]
mov dword [esp + 0xc], ecx
call fcn.0051ace0
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
lea eax, [esi + 0x10]
mov dword [esp + 0x6c], eax
lea eax, [esi + 0x20]
mov dword [esp + 0x7c], eax
push 0
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.0042d954
add esp, 0xc
mov edi, eax
mov ecx, dword [esi + 0x10]
shr eax, 0x19
mov dword [esp + 0x88], esi
mov esi, dword [esi + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp + 0x24], 0
movd xmm0, eax
mov dword [esp + 0x84], edi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
and edi, esi
lea ebx, [ecx - 0x10]
mov dword [esp + 8], ecx
movdqa xmmword [esp + 0xa0], xmm1
movdqu xmm0, xmmword [ecx + edi]
movdqa xmmword [esp + 0x50], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esp + 0xf0], ax
lea ecx, [esp + 0xf0]
call section..text
test eax, eax
je 0x51c6dd
add edx, edi
mov ecx, ebx
and edx, esi
mov eax, edx
shl eax, 4
sub ecx, eax
cmp byte [ecx], 0
jne 0x51c6b9
jmp 0x51c717
movdqa xmm1, xmmword [esp + 0x50]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x51d2e5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
movdqa xmm1, xmmword [esp + 0xa0]
lea edi, [edi + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x24], eax
and edi, esi
jmp 0x51c69e
mov edi, dword [esp + 8]
neg edx
shl edx, 4
add edi, edx
mov edx, dword [edi - 4]
mov ebx, dword [esp]
mov esi, dword [esp + 0x28]
cmp edx, dword [edi - 0xc]
jne 0x51c73c
lea ecx, [edi - 0xc]
call fcn.0045de97
mov edx, dword [edi - 4]
mov eax, dword [edi - 8]
mov ecx, dword [esp + 0xc]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], 0x650d14
inc dword [edi - 4]
call fcn.0042e7c5
xor edi, edi
cmp ebx, 0xffffffff
mov edx, 0
je 0x51c770
mov ecx, ebx
call fcn.0042e6af
xor edx, edx
test eax, eax
cmove edx, ebx
cmp esi, 0xffffffff
je 0x51c787
mov ecx, esi
mov edi, edx
call fcn.0042e6af
mov edx, edi
xor edi, edi
test eax, eax
cmove edi, esi
test edx, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], 0x650d14
setne al
test edi, edi
setne ah
and ah, al
je 0x51c885
mov byte [esp + 0x24], ah
lea eax, [edx + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], 0x650d14
mov dword [esp + 8], eax
xor eax, eax
push 8
pop ecx
lock cmpxchg dword [edx + 8], ecx
jne 0x51d344
cmp dword [edx + 0x1c], 0
mov dword [esp + 0x50], edx
je 0x51c84a
mov esi, dword [esp + 0x50]
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
push 0
push dword [esi + 0x2c]
push dword [esi + 0x28]
call fcn.0042d954
add esp, 0xc
mov dword [esp + 0xc], eax
mov eax, edx
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
push 0
push eax
push dword [esp + 0x14]
call fcn.0042db50
add esp, 0xc
test eax, eax
mov dword [esp + 0xc], eax
je 0x51c84a
mov eax, dword [esp + 0xc]
mov esi, dword [eax - 4]
mov ecx, dword [eax - 8]
xor eax, eax
lea edx, [esi*8]
test edx, edx
je 0x51c84a
cmp dword [ecx + eax*8], edi
je 0x51d1fe
inc eax
add edx, 0xfffffff8
jmp 0x51c837
mov ecx, dword [esp + 8]
lea esi, [esp + 0xf0]
mov dword [esi], 0x14
call fcn.0042e7c5
mov ecx, esi
call fcn.0042d224
lea ecx, [esp + 0x10]
call fcn.00422c7c
lea ecx, [esp + 0x40]
call fcn.004232fc
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
mov ah, byte [esp + 0x24]
test edx, edx
je 0x51c8ab
test edi, edi
jne 0x51c8ab
lea ecx, [esp + 0xb0]
mov edi, ebx
mov bl, ah
call fcn.004232fc
lea ecx, [esp + 0xb0]
mov ah, bl
mov ebx, edi
mov edi, dword [ecx + 4]
test edi, edi
sete al
or ah, al
jne 0x51c8c0
lea ecx, [esp + 0xb4]
call fcn.00422c7c
cmp ebx, 0xffffffff
je 0x51c8d8
mov eax, dword [esp + 0x2c]
lock dec dword [eax]
jne 0x51c8d8
push 8
pop edx
mov ecx, ebx
call fcn.00407480
cmp esi, 0xffffffff
je 0x51c8f6
mov eax, dword [esp + 0x8c]
lock dec dword [eax]
jne 0x51c8f6
push 4
pop edx
mov ecx, esi
push 0xc
call fcn.00402e79
pop eax
push 4
pop edi
mov ecx, edi
mov edx, edi
call fcn.00402d77
test eax, eax
je 0x51d400
mov ebx, eax
push 0xfffffffffffffffc
pop eax
test eax, eax
je 0x51c91d
and dword [ebx + eax + 4], 0
add eax, 4
jmp 0x51c90f
push 0x40
pop edx
mov ecx, 0x140
call fcn.00402d58
movaps xmm0, xmmword [0x5a6770]
movaps xmm1, xmmword [0x5a6430]
and dword [eax], 0
and dword [eax + 0x40], 0
mov esi, eax
mov cl, 1
movaps xmmword [eax + 0x80], xmm0
xor eax, eax
mov byte [esi + 0x90], al
and dword [esi + 0x94], 0
mov dword [esi + 0x98], edi
and dword [esi + 0x9c], 0
and dword [esi + 0xa0], 0
mov dword [esi + 0xa4], edi
and dword [esi + 0xa8], 0
mov byte [esi + 0xac], cl
and dword [esi + 0xb0], 0
mov byte [esi + 0xb4], al
and dword [esi + 0xb8], 0
mov dword [esi + 0xbc], edi
movaps xmmword [esi + 0xc0], xmm1
mov byte [esi + 0xd0], cl
xor ecx, ecx
mov dword [esi + 0xd4], ebx
inc ecx
mov dword [esi + 0xd8], ecx
mov dword [esi + 0x100], ecx
mov dword [esi + 0x104], ecx
mov byte [esi + 0x108], al
mov ebx, dword [esp + 0x1b0]
lock inc dword [ebx]
jle 0x51d3bc
lea edi, [esp + 0x188]
mov ecx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov edx, edi
mov dword [esp + 8], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x50], eax
call fcn.0042e76a
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x198]
call fcn.0042e76a
mov al, byte [edi + 0x30]
mov ecx, dword [edi + 0x2c]
mov byte [esp + 0x24], al
mov dword [esp + 0x2c], ecx
lock inc dword [ecx]
jle 0x51d3bc
movsd xmm1, qword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
movsd xmm2, qword [esp + 0xb0]
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0xf0], xmm0
movsd qword [esp + 0x100], xmm2
movsd qword [esp + 0x108], xmm1
call fcn.0050b250
xor ecx, ecx
mov dword [esp + 0x28], eax
call fcn.004fc5c0
mov dword [esp + 0x40], eax
mov dword [esp], eax
lock inc dword [eax]
jle 0x51d3bc
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc], ebx
mov dword [esp + 0xa0], edi
and dword [ecx], 0
and dword [ecx + 4], 0
call fcn.0042dd45
mov dword [esp + 0x10], eax
lock inc dword [eax]
jle 0x51d3bc
xor ecx, ecx
mov edi, eax
call fcn.00509b80
mov ebx, eax
test eax, eax
je 0x51cacb
lock inc dword [ebx]
jle 0x51d3bc
mov ecx, ebx
jmp 0x51cacd
xor ecx, ecx
call fcn.00509b80
lea ecx, [esp + 0xb0]
mov dword [ecx], eax
call fcn.0042dd70
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x51caef
add ecx, 8
call fcn.004ff060
push 0x50
pop ecx
push 8
pop edx
call fcn.00402d58
movsd xmm0, qword [esp + 0xf0]
movq xmm1, qword [esp + 0xf8]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
movsd qword [eax], xmm0
movq qword [eax + 8], xmm1
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x108]
movsd qword [eax + 0x18], xmm0
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x2c], ecx
mov cl, byte [esp + 0x24]
mov byte [eax + 0x30], cl
mov ecx, dword [esp]
and dword [eax + 0x38], 0
mov dword [eax + 0x3c], esi
mov dword [eax + 0x40], ebx
lea ebx, [esp + 0xb0]
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], edi
mov ecx, ebx
push 0x5aee14
push eax
call fcn.0050b300
pop eax
pop ecx
movzx eax, byte [ebx]
cmp eax, 4
jne 0x51cb95
mov ebx, dword [esp + 0xb4]
mov eax, dword [esp]
jmp 0x51cbca
movzx edi, byte [esp + 0xb3]
movzx ecx, word [esp + 0xb1]
mov ebx, dword [esp + 0xb4]
shl ecx, 8
shl edi, 0x18
or edi, ecx
lea ecx, [esp + 0x10]
or edi, eax
call fcn.0042dc5f
lea ecx, [esp + 0x40]
call fcn.0044d66c
xor eax, eax
lea edx, [esp + 0xb0]
mov dword [edx + 4], edi
mov dword [edx + 8], ebx
lea ebx, [esp + 0x10]
mov dword [edx], eax
mov ecx, ebx
call fcn.0042dd0b
push 0x1c
pop ecx
push 4
pop edx
call fcn.00402d58
mov edi, eax
xor eax, eax
lea ecx, [esp + 0x1c4]
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
and dword [edi + 8], 0
mov dword [edi + 0xc], esi
movq xmm0, qword [ebx]
movq qword [edi + 0x10], xmm0
mov eax, dword [ebx + 8]
mov dword [edi + 0x18], eax
call fcn.0042e793
mov dword [esp + 0x1c4], edi
sub esp, 4
and dword [esp], 0
push 5
pop ecx
xor edx, edx
call fcn.004ff210
pop eax
push 0x10
pop ecx
lea eax, [esp + 0xb0]
lea esi, [esp + 0x188]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x51d40a
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x51cd71
cmp ecx, 1
jne 0x51cf21
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x10]
and dword [eax], 0
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
mov dword [esp], 0
test dl, 1
jne 0x51cfef
mov ebx, edx
shr ebx, 1
and ebx, 0x1f
cmp ebx, 0x1f
jne 0x51cca5
lea ecx, [esp + 0x10]
call fcn.00401092
mov edx, dword [esi + 0x40]
mov edi, dword [esi + 0x44]
jmp 0x51cc7f
cmp ebx, 0x1e
jne 0x51ccf1
cmp dword [esp], 0
jne 0x51ccf1
lea ecx, [esp + 0xf0]
mov dword [esp + 0x50], edx
call fcn.004279f3
mov ecx, 0x80
push 4
pop edx
call fcn.00402d58
push 0x20
pop ecx
mov edx, edi
mov dword [esp], eax
mov edi, eax
mov eax, esi
lea esi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov esi, eax
xor ecx, ecx
call fcn.00427a1e
mov edx, dword [esp + 0x50]
test edi, edi
jne 0x51cd36
lea ecx, [esp + 0xf0]
mov dword [esp + 0x50], edx
call fcn.004279f3
mov ecx, 0x80
push 4
pop edx
call fcn.00402d58
push 0x20
pop ecx
mov edx, esi
mov edi, eax
lea esi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov edi, eax
xor eax, eax
mov esi, edx
lock cmpxchg dword [edx + 0x44], edi
jne 0x51cd5b
mov dword [esi + 4], edi
mov edx, dword [esp + 0x50]
lea ecx, [edx + 2]
mov eax, edx
lock cmpxchg dword [esi + 0x40], ecx
je 0x51d356
mov edi, dword [esi + 0x44]
lea ecx, [esp + 0x10]
mov ebx, eax
call fcn.00401069
mov edx, ebx
jmp 0x51cc7f
mov ecx, dword [esp]
call fcn.00427a1e
mov edx, dword [esi + 0x40]
mov dword [esp], edi
mov edi, dword [esi + 0x44]
jmp 0x51cc7f
mov esi, dword [eax + 0xc]
mov ecx, 0x3b9aca00
mov dword [esp + 0xf8], ecx
and dword [esp + 0x114], 0
and dword [esp + 0x110], 0
and dword [esp + 0x11c], 0
and dword [esp + 0x118], 0
mov dword [esp + 0x108], ecx
and dword [esp + 0x120], 0
mov dword [esp + 0x18], ecx
and dword [esp + 0x70], 0
and dword [esp + 0x40], 0
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x88]
test edx, ecx
jne 0x51d00a
mov edi, dword [esi + 0xd4]
dec edx
xor ebx, ebx
and edx, ecx
sub ebx, dword [esi + 0x84]
mov eax, dword [edi + edx*4]
cmp ecx, eax
jne 0x51ce1a
lea eax, [edx + 1]
cmp eax, dword [esi + 0x80]
jae 0x51cdf6
lea ebx, [ecx + 1]
jmp 0x51cdfe
and ebx, ecx
add ebx, dword [esi + 0x84]
mov eax, ecx
lock cmpxchg dword [esi + 0x40], ebx
je 0x51d040
lea ecx, [esp + 0x40]
mov ebx, eax
call fcn.00401069
mov ecx, ebx
jmp 0x51cdc0
add eax, dword [esi + 0x84]
lea edx, [ecx + 1]
cmp eax, edx
jne 0x51ce44
mfence
mov eax, dword [esi]
add eax, dword [esi + 0x84]
cmp eax, ecx
je 0x51ce52
lea ecx, [esp + 0x40]
call fcn.00401069
jmp 0x51cdbd
lea ecx, [esp + 0x40]
call fcn.00401092
jmp 0x51cdbd
cmp dword [esp + 0x70], 0xa
ja 0x51ce67
lea ecx, [esp + 0x70]
call fcn.00401092
jmp 0x51cdb8
mov edi, dword [esp + 0x18]
cmp edi, 0x3b9aca00
je 0x51cea5
mov eax, dword [esp + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
call fcn.004ff350
mov ebx, ecx
mov ecx, eax
push edi
push dword [esp + 0x54]
push dword [esp + 8]
push ebx
call fcn.004ef29e
add esp, 0x10
test al, al
jne 0x51d3b5
lea eax, [esp + 0xf0]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
call fcn.00422469
test eax, eax
je 0x51cefd
mov ebx, dword [eax]
and dword [eax], 0
mov edi, eax
test ebx, ebx
je 0x51cefd
lea ecx, [esp + 0x40]
lea edx, [esp + 0x30]
mov dword [esp + 0x30], ebx
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
call fcn.00427d9f
mov ecx, edi
mov edx, ebx
call fcn.004277f8
jmp 0x51cdb3
call fcn.0059f4a6
lea edi, [esp + 0x30]
lea ecx, [esp + 0x40]
mov dword [esp + 0x30], eax
mov edx, edi
call fcn.00427d9f
mov ecx, edi
call fcn.00422fb8
jmp 0x51cdb3
mov esi, dword [eax + 0xc]
mov eax, 0x3b9aca00
lea edi, [esp + 0x10]
mov dword [esp + 0xf8], eax
and dword [esp + 0x114], 0
and dword [esp + 0x110], 0
and dword [esp + 0x11c], 0
and dword [esp + 0x118], 0
mov dword [esp + 0x108], eax
and dword [esp + 0x120], 0
mov ecx, edi
mov dword [esp + 0x48], eax
add esi, 8
mov edx, esi
call fcn.00422fc5
mov ecx, edi
mov edx, 0x5aecf4
call fcn.00422fed
lea ebx, [esp + 0x30]
mov byte [esp], dl
lea edx, [eax + 0x20]
mov edi, eax
mov ecx, ebx
call fcn.00427585
xor eax, eax
cmp dword [ebx], eax
je 0x51d01c
xor edx, edx
cmp byte [esp], 0
mov esi, dword [esp + 0x38]
movq xmm0, qword [esp + 0x30]
mov ecx, edi
setne dl
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], esi
mov dword [esp + 0x120], esi
call fcn.0050ec97
test esi, esi
je 0x51cfd3
mov byte [esi + 2], 1
mov byte [esi + 1], 1
xor ecx, ecx
test esi, esi
mov edx, 0x5aed04
setne cl
call fcn.004ac869
lea ecx, [esp + 0x10]
call fcn.00422fb8
jmp 0x51d061
xor ebx, ebx
xor edi, edi
mov ecx, dword [esp]
call fcn.00427a1e
test edi, edi
je 0x51d03c
lock or dword [edi + ebx*4 + 4], 1
sub esi, 0xffffff80
jmp 0x51d05a
and dword [esp + 0x110], 0
and dword [esp + 0x114], 0
jmp 0x51d03c
mov bl, byte [esp]
lea ecx, [esp + 0x30]
call fcn.0044d5da
cmp byte [edi + 0x38], 0
je 0x51d265
movzx edx, bl
mov ecx, edi
call fcn.0051059e
mov bl, 1
jmp 0x51d063
lea eax, [edi + edx*4]
inc ecx
add esi, 0xb0
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov dword [eax], ecx
mov ecx, esi
call fcn.0042797e
mov bl, 2
cmp bl, 2
je 0x51d072
mov eax, ebx
and al, 1
je 0x51d40f
cmp bl, 2
jne 0x51d421
mov byte [0x665242], 0
push 0x10
pop ecx
lea eax, [esp + 0xf0]
lea esi, [esp + 0xb0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x3c]
and dword [eax + 0x3c], 0
test ecx, ecx
je 0x51d43b
xor eax, eax
xor edx, edx
inc eax
lock cmpxchg dword [ecx], edx
jne 0x51d43f
mov eax, dword [ecx + 0x18]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
cmp ecx, 0xffffffff
mov dword [esp + 0x18], eax
movq xmm0, qword [ecx + 0x10]
movq qword [esp + 0x10], xmm0
je 0x51d0e0
lock dec dword [ecx + 4]
jne 0x51d0e0
push 4
pop edx
call fcn.00407480
cmp edi, 3
je 0x51d441
mov ecx, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
movq qword [esp + 0x178], xmm0
mov dword [esp + 0x180], ecx
mov dword [esp + 0x18], ecx
movq qword [esp + 0x10], xmm0
call fcn.0050e0f0
mov ecx, dword [esp + 0x14]
xor eax, eax
inc eax
xor edx, edx
dec edx
lock cmpxchg dword [ecx + 4], edx
jne 0x51d3be
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [eax + 4], 1
cmp ecx, 1
jne 0x51d3be
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
and dword [eax + 0xc], 0
test ecx, ecx
je 0x51d482
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x10]
mov dword [esp], eax
call fcn.0044d66c
lea ecx, [esp + 0x14]
call fcn.0042dc5f
mov ecx, edi
mov edx, esi
call fcn.0042e62f
test ebx, ebx
jne 0x51d494
lea ecx, [esp + 0xf0]
call fcn.0042e7aa
mov esi, dword [esp + 0x94]
mov ecx, esi
call fcn.0051d4ff
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0xb0]
call fcn.0051c25f
mov ecx, esi
call fcn.0042dc10
lea ecx, [esp + 0x9c]
call fcn.0051ae94
push 0xc
pop eax
mov ebx, dword [esp + 0x98]
lea edx, [esp + 0xf0]
mov ecx, eax
mov edi, edx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, ebx
mov ecx, eax
lea esi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
cmp dword [edx], 0x80000002
je 0x51d1f6
lea ecx, [esp + 0xf0]
call fcn.0051ae5c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [ecx + eax*8]
lea ecx, [ecx + eax*8 + 8]
not eax
mov ebx, dword [edx]
add eax, esi
shl eax, 3
mov dword [esp + 0x6c], ebx
mov ebx, dword [edx + 4]
mov dword [esp + 0xa0], ebx
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa0]
dec esi
mov ebx, dword [esp]
mov dword [eax - 4], esi
lea esi, [esp + 0xf4]
mov dword [esi], edx
mov dword [esi + 4], ecx
mov ecx, dword [esp + 8]
mov dword [esi - 4], 0x16
call fcn.0042e7c5
mov ecx, esi
call fcn.00422c7c
jmp 0x51c867
lea eax, [esp + 0xf0]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], bl
call fcn.00422469
test eax, eax
je 0x51d37c
mov edi, dword [eax]
and dword [eax], 0
mov esi, eax
test edi, edi
je 0x51d37c
lea edx, [esp + 0x30]
lea ecx, [esp + 0x10]
mov dword [edx], edi
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
call fcn.00427654
mov ecx, esi
mov edx, edi
mov ebx, eax
call fcn.004277f8
mov al, byte [esp + 0x20]
cmp al, 2
je 0x51d063
mov ecx, dword [esp + 0x1c]
movzx edx, al
call fcn.0051059e
jmp 0x51d063
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x6c]
cmp dword [eax + 0x18], 0
je 0x51d3a0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push dword [esp + 0x80]
push dword [esp + 0x88]
call fcn.0042e6d9
pop ecx
pop ecx
mov ecx, dword [esi]
and dl, 1
shl eax, 4
movzx edx, dl
sub dword [esi + 8], edx
mov edi, ecx
sub edi, eax
neg eax
mov byte [ecx + eax - 0x10], 0
and dword [edi - 0xc], 0
mov dword [edi - 8], 4
and dword [edi - 4], 0
inc dword [esi + 0xc]
jmp 0x51c722
mov ecx, dword [esp + 8]
mov esi, edx
call fcn.005a0a59
mov edx, esi
jmp 0x51c7dd
cmp ebx, 0x1e
jne 0x51cff3
mov eax, dword [esp]
test eax, eax
je 0x51d4ed
mov dword [esi + 0x44], eax
lock add dword [esi + 0x40], 2
mov dword [edi], eax
push 0x1e
pop ebx
jmp 0x51cffb
call fcn.0059f4a6
lea esi, [esp + 0x30]
lea ecx, [esp + 0x10]
mov edx, esi
mov dword [esi], eax
call fcn.00427654
mov ecx, esi
mov ebx, eax
call fcn.00422fb8
jmp 0x51d2c8
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.0059f85d
jmp 0x51d2fa
call fcn.0059fbc5
xor ebx, ebx
jmp 0x51d063
ud2
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x62a920
call fcn.0059ef30
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x650df0
call fcn.0059ef30
lea eax, [esp + 0xf0]
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
push 0x650e98
push 0x5aee3c
jmp 0x51d4e7
push 4
pop ecx
mov edx, ecx
call fcn.0059eab0
push 0x12
pop esi
jmp 0x51d432
push 0x28
pop edx
mov ecx, str.internal_error:_entered_unreachable_codeC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_blocking_schedule.rs
push 0x5aecd4
call fcn.0059ef30
push 7
pop esi
lea eax, [esp + 0xb0]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xa0]
jmp 0x51d4a8
push 0x12
jmp 0x51d46b
mov esi, ecx
lea ecx, [esp + 0x174]
mov dword [ecx], esi
call fcn.0042e79d
movq xmm0, qword [esp + 0x40]
mov eax, dword [esp + 0x48]
movq qword [esp + 0x30], xmm0
movq qword [esp + 0x70], xmm0
mov dword [esp + 0x78], eax
push 0x15
pop esi
mov eax, dword [esp + 0x78]
movq xmm0, qword [esp + 0x70]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], eax
jmp 0x51d4a1
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x62a930
call fcn.0059ef30
mov edx, dword [esp]
mov ecx, ebx
call fcn.004bc4fc
push 0xd
pop esi
lea ecx, [esp + 0xf0]
call fcn.0042e7aa
movsd xmm0, qword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf0], esi
movsd qword [esp + 0xf4], xmm0
mov dword [esp + 0xfc], eax
push 0x19
pop edx
mov ecx, str.Failed_to_stop_RPC_threadsrcdiscord.rs
push 0x6519c0
push 0x650f9c
lea eax, [esp + 0xf8]
push eax
call fcn.0059f1c0
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x5aece4
call fcn.0059ef30