Function at 0x72b480
Capabilities:
Create thread
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov esi, esp
mov dword [esi + 0x288], ebp
mov dword [esi + 0x28c], esp
mov dword [esi + 0x298], 0xffffffff
mov dword [esi + 0x294], 0x75f8b0
mov dword [esi + 0x98], ecx
lea eax, [esi + 0x290]
mov ebx, edx
mov ecx, dword fs:[0]
mov dword [esi + 0x290], ecx
mov dword fs:[0], eax
cmp byte [edx + 0x70], 0
je 0x72b4ee
cmp dword [ebx], 0
je 0x72b608
mov eax, dword [ebx + 4]
mov dword [esi + 0x2c], eax
mov al, 1
jmp 0x72bab3
movzx eax, word [ebx + 0x71]
movzx ecx, byte [ebx + 0x73]
mov edx, dword [ebx + 0x60]
mov word [esi + 0x34], ax
mov byte [esi + 0x36], 1
mov byte [esi + 0x37], cl
mov dword [esi + 0x30], edx
lea ecx, [esi + 0x1f0]
lea edx, [esi + 0x30]
call fcn.0072d8b0
mov eax, dword [esi + 0x1f0]
cmp eax, 2
je 0x72baf7
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x1f4]
lea ecx, [esi + 0xa8]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x6c], eax
lea eax, [esi + 0x1fc]
push 0x8c
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
movq xmm0, qword [esi + 0xa8]
movq xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xb8]
lea ecx, [esi + 0x168]
mov dword [esi + 0x148], eax
movq qword [esi + 0x138], xmm0
movq qword [esi + 0x140], xmm1
lea eax, [esi + 0xbc]
push 0x78
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
mov edx, dword [ebx + 0x64]
mov ecx, ebx
call fcn.0072de80
mov dword [esi + 0x3c], edx
mov dword [esi + 4], eax
lock inc dword [eax]
jle 0x72bc2e
mov edi, ebx
add ebx, 0x50
mov ecx, ebx
call fcn.007295e0
mov ecx, ebx
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], edx
call fcn.007295e0
mov ecx, eax
mov eax, dword [edi + 0x40]
test eax, eax
je 0x72b6cc
mov ebx, dword [edi + 0x44]
mov dword [esi + 0x44], ebx
lock inc dword [eax]
jle 0x72bc2e
mov ebx, dword [edi + 0x48]
mov dword [esi + 0x14], ecx
test ebx, ebx
je 0x72b6da
mov ecx, dword [edi + 0x4c]
mov dword [esi + 0x28], ecx
lock inc dword [ebx]
jg 0x72b6da
jmp 0x72bc2e
lea ecx, [esi + 0x1f0]
mov edx, str.TOKIO_WORKER_THREADS___cannot_be_set_to_0
push 0x14
call fcn.007166b0
add esp, 4
mov eax, dword [esi + 0x1f0]
cmp eax, 0x80000000
jne 0x72b668
pxor xmm0, xmm0
lea eax, [esi + 0x1f0]
mov dword [esi + 0x210], 0
movdqa xmmword [esi + 0x200], xmm0
movdqa xmmword [esi + 0x1f0], xmm0
push eax
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [esi + 0x204]
cmp eax, 1
adc eax, 0
mov dword [esi + 0x2c], eax
jmp 0x72baaf
mov ecx, dword [esi + 0x1f4]
cmp byte [esi + 0x1fc], 0
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], ebx
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x1f8]
je 0x72b9c2
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0xc]
test ecx, ecx
mov dword [esi + 0x168], eax
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ecx
je 0x72d7d9
movzx eax, byte [ebx]
cmp eax, 0x2d
je 0x72ba53
cmp eax, 0x2b
jne 0x72ba5c
dec ecx
je 0x72d50b
inc ebx
jmp 0x72ba5c
mov ebx, dword [edi + 0x48]
mov dword [esi + 0x14], ecx
test ebx, ebx
jne 0x72b5f4
mov dword [esi + 8], eax
movsd xmm0, qword [edi + 0x10]
movzx eax, byte [edi + 0x74]
mov dword [esi + 0x20], edx
mov dword [esi + 0x1c], ebx
xor ecx, ecx
mov edx, 0x40
movaps xmmword [esi + 0x50], xmm0
movups xmm0, xmmword [edi + 0x68]
mov byte [esi + 0x2c], al
movzx eax, byte [edi + 0x75]
movaps xmmword [esi + 0x1e0], xmm0
mov byte [esi + 0x10], al
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d6fd
mov dword [eax], 0
mov byte [eax + 4], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x11], 0
mov dword [eax + 0xd], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x21], 0
mov dword [eax + 0x1d], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x31], 0
mov dword [esi + 0x24], eax
mov dword [eax + 0x2d], 0
nop
mov edx, dword [0x94ba04]
mov edi, dword [0x94ba00]
nop dword [eax]
mov ebx, edi
mov ecx, edx
mov eax, edi
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x94ba00]
mov edi, eax
jne 0x72b7a0
mov eax, edi
or eax, edx
je 0x72b790
movzx eax, byte [0x94bfc5]
mov ebx, edx
xor ecx, ecx
mov edx, 0x108
call fcn.0071ee80
test eax, eax
je 0x72d70c
movaps xmm0, xmmword [esi + 0x50]
mov ecx, dword [esi + 0x24]
mov dword [eax], 1
mov dword [eax + 4], 1
unpcklpd xmm0, xmmword [esi + 0x1e0]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 4
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 3
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebx
mov byte [eax + 0x20], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov byte [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov byte [eax + 0x3c], 0
mov edi, eax
movups xmmword [eax + 0x40], xmm0
mov eax, dword [esi + 8]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x44]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x58], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x5c], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x60], 0
mov byte [edi + 0x64], 0
mov dword [edi + 0x68], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x6c], eax
movzx eax, byte [esi + 0x2c]
mov byte [edi + 0x70], al
movzx eax, byte [esi + 0x10]
mov byte [edi + 0x71], al
mov eax, edi
mov byte [edi + 0x74], 0
add eax, 0x78
push 0x78
lea ecx, [esi + 0x168]
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esi + 0x14]
mov dword [edi + 0xf0], 0
mov byte [edi + 0xf4], 0
mov ebx, dword [esi + 4]
mov dword [esi + 0xc], edi
xor ecx, ecx
mov edx, pe_nt_image_headers32
mov dword [edi + 0xf8], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0xfc], eax
mov dword [edi + 0x100], ebx
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d71b
mov edi, eax
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x3c
call fcn.0071ee80
test eax, eax
je 0x72d72a
movdqa xmm0, xmmword [esi + 0x50]
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
test ecx, ecx
movd edx, xmm0
mov ecx, 0x1f
cmovne ecx, edx
mov edx, dword [esi + 0x40]
mov dword [eax], edx
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0x6c]
mov dword [eax + 8], edx
movq xmm0, qword [esi + 0x138]
movq xmm1, qword [esi + 0x140]
movq qword [eax + 0xc], xmm0
movq qword [eax + 0x14], xmm1
mov edx, dword [esi + 0x148]
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], 0x40
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], ecx
mov ecx, dword [esi + 0x98]
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x3c]
mov byte [eax + 0x38], 0
mov dword [ecx], 0
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
mov byte [ecx + 0xc], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], ebx
mov dword [ecx + 0x28], edx
jmp 0x72d334
test ecx, ecx
je 0x72d7c1
movzx eax, byte [esi + 0x1ff]
mov ebx, dword [esi + 0xc]
movzx edx, word [esi + 0x1fd]
shl eax, 0x10
lea edi, [ebx + ecx]
or edx, eax
mov dword [esi + 0x50], edx
jmp 0x72b9fa
add ebx, 2
cmp eax, edi
cmovne eax, ebx
cmp eax, edi
mov ebx, eax
je 0x72b68a
movzx edx, byte [ebx]
lea eax, [ebx + 1]
test dl, dl
jns 0x72b9f0
cmp dl, 0xe0
jb 0x72b9e8
cmp dl, 0xed
jne 0x72ba32
cmp eax, edi
je 0x72b68a
lea eax, [ebx + 2]
cmp eax, edi
je 0x72b68a
cmp byte [ebx + 1], 0x9f
ja 0x72d348
add ebx, 3
mov eax, ebx
jmp 0x72b9f0
add ebx, 2
cmp eax, edi
cmove ebx, eax
xor eax, eax
cmp ebx, edi
setne al
add eax, ebx
cmp dl, 0xf0
jb 0x72b9f0
xor edx, edx
cmp eax, edi
setne dl
add eax, edx
jmp 0x72b9f0
cmp ecx, 1
je 0x72d50b
xor eax, eax
cmp ecx, 9
jae 0x72bb20
nop word [eax + eax]
movzx edi, byte [ebx]
add edi, 0xffffffd0
cmp edi, 9
ja 0x72d50b
lea edx, [eax + eax*4]
inc ebx
dec ecx
lea eax, [edi + edx*2]
jne 0x72ba70
test eax, eax
mov dword [esi + 0x2c], eax
je 0x72d769
cmp dword [esi + 0x18], 0
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0xc]
je 0x72baaf
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [ebx + 0x70]
movzx ecx, word [ebx + 0x71]
movzx edx, byte [ebx + 0x73]
mov edi, dword [ebx + 0x60]
xor al, 1
mov word [esi + 0x16c], cx
mov byte [esi + 0x16e], al
mov byte [esi + 0x16f], dl
mov dword [esi + 0x168], edi
lea edi, [esi + 0x1f0]
lea edx, [esi + 0x168]
mov ecx, edi
call fcn.0072d8b0
mov eax, dword [esi + 0x1f0]
cmp eax, 2
jne 0x72bb5f
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esi + 0x98]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov dword [edx], 2
jmp 0x72d334
test ecx, ecx
je 0x72ba89
movzx edi, byte [ebx]
mov dword [esi + 0x50], ecx
mov ecx, 0xa
mul ecx
seto dl
add edi, 0xffffffd0
cmp edi, 9
ja 0x72d50b
mov cl, 2
test dl, dl
mov dword [esi + 4], ecx
jne 0x72d510
mov ecx, dword [esi + 0x50]
inc ebx
dec ecx
add eax, edi
jae 0x72bb20
jmp 0x72d510
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x1f4]
lea ecx, [esi + 0xa8]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0xc], eax
lea eax, [esi + 0x1fc]
push 0x8c
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
movq xmm0, qword [esi + 0xa8]
movq xmm1, qword [esi + 0xb0]
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x148], eax
movq qword [esi + 0x138], xmm0
movq qword [esi + 0x140], xmm1
lea eax, [esi + 0xbc]
push 0x78
push eax
push edi
call fcn.007bd9b0
add esp, 0xc
mov edx, dword [ebx + 0x64]
mov ecx, ebx
add edx, dword [esi + 0x2c]
call fcn.0072de80
mov dword [esi + 0x164], edx
mov dword [esi + 0x1e0], eax
lock inc dword [eax]
jle 0x72bc2e
mov edi, ebx
add ebx, 0x50
mov ecx, ebx
call fcn.007295e0
mov ecx, ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], edx
mov ebx, edi
call fcn.007295e0
mov edi, dword [edi + 0x40]
test edi, edi
je 0x72bc17
mov ecx, dword [ebx + 0x44]
lock inc dword [edi]
jg 0x72bc17
jmp 0x72bc2e
mov dword [esi + 0x44], edx
mov edx, dword [ebx + 0x48]
mov dword [esi + 0x24], eax
test edx, edx
je 0x72bc30
mov eax, ebx
mov ebx, dword [ebx + 0x4c]
lock inc dword [edx]
jg 0x72bc32
ud2
mov eax, ebx
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax + 0x68]
movzx eax, word [eax + 0x74]
movlhps xmm0, xmm1
movups xmmword [esi + 0x168], xmm0
mov dword [esi + 0x178], edi
mov dword [esi + 0x17c], ecx
mov dword [esi + 0x180], edx
mov dword [esi + 0x184], ebx
mov word [esi + 0x198], ax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x188], 0
mov byte [esi + 0x18c], 0
xor ecx, ecx
mov edx, 0x2c
mov dword [esi + 0x190], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x194], eax
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d672
mov dword [eax], 1
mov edi, eax
mov dword [eax + 4], 1
mov eax, dword [esi + 0x50]
xor ecx, ecx
mov edx, 0x1c
mov dword [edi + 8], eax
mov eax, dword [esi + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x10], eax
movq xmm0, qword [esi + 0x138]
movq xmm1, qword [esi + 0x140]
movq qword [edi + 0x14], xmm0
movq qword [edi + 0x1c], xmm1
mov eax, dword [esi + 0x148]
mov dword [edi + 0x24], eax
mov byte [edi + 0x28], 0
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d3e8
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov ebx, eax
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x72c0ab
cmp eax, 0x1fffffff
ja 0x72d629
lea edx, [eax*4]
test edx, edx
js 0x72d629
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov dword [esi + 0x28], edx
call fcn.0071ee80
test eax, eax
je 0x72d6f0
mov ecx, dword [esi + 0x2c]
cmp ecx, 0xfffffff
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], 0
ja 0x72d629
lea edi, [ecx*8]
test edi, edi
js 0x72d629
mov dword [esi + 0x10], ebx
xor ecx, ecx
mov edx, edi
movzx eax, byte [0x94bfc5]
mov dword [esi + 4], 0
call fcn.0071ee80
test eax, eax
je 0x72c244
mov edx, dword [esi + 0x2c]
mov ecx, eax
xor edi, edi
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], 0
jmp 0x72be14
lea ecx, [esi + 0x7c]
call fcn.004c7a80
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x84]
mov eax, dword [esi + 0x50]
mov edi, dword [esi + 0xc]
mov dword [ecx + edx*8], eax
mov dword [ecx + edx*8 + 4], ebx
inc edx
cmp edi, dword [esi + 0x2c]
mov dword [esi + 4], edx
mov dword [esi + 0x84], edx
je 0x72c058
mov dword [esi + 0x1c], ecx
xor ecx, ecx
mov edx, 0x400
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d406
inc edi
mov ebx, pe_nt_image_headers32
mov dword [esi + 0x30], pe_nt_image_headers32
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], 0
mov dword [esi + 0xc], edi
xor edi, edi
jmp 0x72be57
inc edi
dec ebx
mov dword [esi + 0x38], edi
je 0x72be70
cmp edi, dword [esi + 0x30]
jne 0x72be50
lea ecx, [esi + 0x30]
mov edx, edi
call fcn.0075a1c0
mov edi, dword [esi + 0x38]
jmp 0x72be50
mov ebx, dword [esi + 0x34]
cmp dword [esi + 0x30], edi
jbe 0x72bea4
test edi, edi
je 0x72d59d
lea eax, [edi*4]
mov dword [esi + 0x50], eax
push eax
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
mov ebx, eax
test eax, eax
je 0x72d5dc
cmp edi, 0x100
mov dword [esi + 0x90], edi
jne 0x72d5b6
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x18
call fcn.0071ee80
test eax, eax
je 0x72d415
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], ebx
lock inc dword [eax]
jle 0x72bc2e
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x50], eax
mov edi, dword [ecx + 8]
lock inc dword [edi]
jle 0x72bc2e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x1c
call fcn.0071ee80
test eax, eax
je 0x72d3e8
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov ebx, eax
lock inc dword [eax]
jle 0x72bc2e
call fcn.00711110
mov dword [esi + 0x40], eax
movzx eax, byte [esi + 0x198]
mov dword [esi + 0x6c], ecx
lea ecx, [esi + 0x188]
mov dword [esi + 0x48], edx
mov byte [esi + 0x18], al
mov eax, dword [esi + 0x168]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x16c]
mov dword [esi + 0x14], eax
call fcn.007295e0
mov dword [esi + 0x20], edx
mov dword [esi + 0x3c], eax
xor ecx, ecx
mov edx, 0x40
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d424
mov edi, eax
mov eax, dword [esi + 0x40]
movzx ecx, byte [esi + 0x18]
mov edx, dword [esi + 0x14]
mov dword [edi], eax
mov eax, dword [esi + 0x48]
xor cl, 1
cmp dword [esi + 8], 0
mov dword [edi + 4], eax
mov eax, dword [esi + 0x6c]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x3c]
mov dword [edi + 0x14], 0x40a99d60
mov dword [edi + 0x10], 0x864b8a7e
mov dword [edi + 0x18], 0
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x24], eax
mov eax, 0x3d
cmove edx, eax
mov eax, dword [esi + 0x50]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], edx
mov byte [edi + 0x3c], cl
mov word [edi + 0x3d], 0
mov byte [edi + 0x3f], 0
mov edx, dword [esi + 0x78]
cmp edx, dword [esi + 0x70]
jne 0x72c03a
lea ecx, [esi + 0x70]
call fcn.0075a1c0
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x74]
mov dword [eax + edx*4], edi
inc edx
mov dword [esi + 0x78], edx
mov edx, dword [esi + 4]
cmp edx, dword [esi + 0x7c]
je 0x72bde0
mov ecx, dword [esi + 0x1c]
jmp 0x72bdf4
movzx eax, byte [0x94bfc5]
mov edi, dword [esi + 0x28]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x72c244
mov ecx, dword [esi + 4]
mov ebx, eax
mov eax, dword [esi + 0x80]
cmp dword [esi + 0x7c], ecx
jbe 0x72c119
test ecx, ecx
je 0x72c105
lea edi, [ecx*8]
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x72c119
jmp 0x72c244
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 4
mov dword [esi + 0x7c], 0
mov dword [esi + 0x80], 4
mov dword [esi + 0x78], 0
mov dword [esi + 0x84], 0
mov dword [esi + 4], 0
mov dword [esi + 0xc], 4
mov dword [esi + 0x18], 4
mov dword [esi + 0x14], 0
mov dword [esi + 0x40], 0
mov eax, 4
jmp 0x72c14d
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov edx, dword [esi + 0x2c]
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
mov eax, edx
shl eax, 0x10
cmp edx, 2
mov dword [esi + 0x14], eax
mov eax, 4
jb 0x72c14a
lea eax, [edx - 1]
bsr ecx, eax
mov eax, 0xffffffff
not ecx
shr eax, cl
lea eax, [eax*4 + 4]
mov dword [esi + 0x40], edx
cmp eax, 0x10000
mov ebx, 0x10000
cmovb ebx, eax
lea eax, [ebx - 1]
test ebx, eax
mov dword [esi + 0x6c], eax
setne al
test ebx, ebx
sete cl
or cl, al
jne 0x72d681
mov edi, ebx
movzx eax, byte [0x94bfc5]
xor ecx, ecx
shl edi, 4
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x72c244
xor edx, edx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], 0
jmp 0x72c1ef
mov ecx, edx
inc edx
shl ecx, 4
mov dword [eax + ecx], 0
mov byte [eax + ecx + 4], 0
movzx edi, word [esi + 0x30]
mov word [eax + ecx + 5], di
movzx ebx, byte [esi + 0x32]
mov byte [eax + ecx + 7], bl
mov ebx, dword [esi + 0x50]
mov dword [eax + ecx + 8], 0
mov dword [eax + ecx + 0xc], 0
mov dword [esi + 0xb0], edx
dec ebx
je 0x72c213
cmp edx, dword [esi + 0xa8]
mov dword [esi + 0x50], ebx
jne 0x72c1b0
lea ecx, [esi + 0xa8]
call fcn.0043e210
mov eax, dword [esi + 0xac]
mov edx, dword [esi + 0xb0]
jmp 0x72c1b0
mov eax, dword [esi + 0xac]
cmp dword [esi + 0xa8], edx
jbe 0x72c250
test edx, edx
je 0x72c258
mov edi, edx
mov dword [esi + 0x50], edx
shl edi, 4
push edi
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
mov dword [esi + 0x3c], eax
jne 0x72c280
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov dword [esi + 0x3c], eax
mov dword [esi + 0x50], edx
jmp 0x72c280
mov dword [esi + 0x50], edx
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x3c], 4
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edi, dword [0x94ba04]
mov eax, dword [0x94ba00]
nop dword [eax + eax]
mov ebx, eax
mov ecx, edi
mov edx, edi
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x94ba00]
mov edi, edx
jne 0x72c290
mov ebx, eax
or eax, edi
je 0x72c280
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x93]
movsd xmm0, qword [esi + 0x190]
movsd xmm1, qword [esi + 0x170]
mov edx, 0x140
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0x90]
mov dword [esi + 0x33], ecx
movsd qword [esi + 0xd0], xmm0
movsd xmm0, qword [esi + 0x188]
movsd qword [esi + 0xb0], xmm1
xor ecx, ecx
mov dword [esi + 0x30], eax
movzx eax, byte [esi + 0x15b]
movsd qword [esi + 0xc8], xmm0
movsd xmm0, qword [esi + 0x180]
mov byte [esi + 0x92], al
movzx eax, word [esi + 0x159]
movsd qword [esi + 0xc0], xmm0
movsd xmm0, qword [esi + 0x178]
mov word [esi + 0x90], ax
movzx eax, byte [esi + 0x158]
movsd qword [esi + 0xb8], xmm0
movsd xmm0, qword [esi + 0x168]
mov byte [esi + 0x8e], al
movzx eax, word [esi + 0x156]
movsd qword [esi + 0xa8], xmm0
mov word [esi + 0x8c], ax
movzx eax, byte [esi + 0x155]
mov byte [esi + 0x8a], al
movzx eax, word [esi + 0x153]
mov word [esi + 0x88], ax
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d695
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
movzx ecx, word [esi + 0x150]
mov word [eax + 0xd], cx
movzx ecx, byte [esi + 0x152]
mov byte [eax + 0xf], cl
mov ecx, dword [esi + 0x24]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 0x14], ecx
mov ecx, eax
add ecx, 0x18
push 0x78
lea edx, [esi + 0x1f0]
push edx
push ecx
mov dword [esi + 0x48], eax
call fcn.007bd9b0
mov ecx, dword [esi + 0x48]
add esp, 0xc
mov dword [ecx + 0x90], 0
mov byte [ecx + 0x94], 0
mov edx, dword [esi + 0x2c]
movzx eax, word [esi + 0x90]
mov word [ecx + 0x95], ax
movzx eax, byte [esi + 0x92]
mov byte [ecx + 0x97], al
mov eax, dword [esi + 0x18]
mov dword [ecx + 0x98], edx
mov dword [ecx + 0x9c], eax
mov dword [ecx + 0xa4], 0
mov dword [ecx + 0xa0], 0
mov dword [ecx + 0xa9], 0
mov dword [ecx + 0xa5], 0
movzx eax, word [esi + 0x8c]
mov word [ecx + 0xad], ax
movzx eax, byte [esi + 0x8e]
mov byte [ecx + 0xaf], al
mov eax, dword [esi + 0x3c]
mov dword [ecx + 0xb0], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0xb4], eax
mov eax, dword [esi + 0x6c]
mov dword [ecx + 0xb8], 0
mov dword [ecx + 0xbc], eax
mov dword [ecx + 0xc4], edi
mov dword [ecx + 0xc0], ebx
mov byte [ecx + 0xc8], 0
mov eax, dword [esi + 0x33]
mov dword [ecx + 0xcc], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 0xc9], eax
mov eax, dword [esi + 0x40]
mov dword [ecx + 0xd4], eax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0xd0], eax
mov eax, dword [esi + 0xc]
mov dword [ecx + 0xd8], eax
mov eax, dword [esi + 4]
mov dword [ecx + 0xdc], eax
mov dword [ecx + 0xe0], 1
mov dword [ecx + 0xe4], edx
mov dword [ecx + 0xe8], 0
mov dword [ecx + 0xec], 0
mov byte [ecx + 0xf0], 0
movzx eax, byte [esi + 0x8a]
mov byte [ecx + 0xf3], al
movzx eax, word [esi + 0x88]
mov word [ecx + 0xf1], ax
mov dword [ecx + 0xf4], 0
mov dword [ecx + 0xf8], 4
mov dword [ecx + 0xfc], 0
movsd xmm0, qword [esi + 0xa8]
movq xmm1, qword [esi + 0xb0]
movsd qword [ecx + 0x100], xmm0
movq qword [ecx + 0x108], xmm1
movsd xmm0, qword [esi + 0xb8]
movsd qword [ecx + 0x110], xmm0
movsd xmm0, qword [esi + 0xc0]
movsd qword [ecx + 0x118], xmm0
movsd xmm0, qword [esi + 0xc8]
movsd qword [ecx + 0x120], xmm0
movq xmm0, qword [esi + 0xd0]
movq qword [ecx + 0x128], xmm0
mov eax, dword [esi + 0xd8]
mov dword [ecx + 0x130], eax
mov eax, dword [esi + 0x1e0]
mov dword [ecx + 0x138], eax
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 4
mov dword [esi + 0xb0], 0
mov eax, dword [esi + 0x74]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0x78], 0
test eax, eax
je 0x72d2e8
shl eax, 2
xor edx, edx
mov ecx, 4
xor edi, edi
jmp 0x72c62a
lea ecx, [esi + 0xa8]
call fcn.0075a1c0
mov ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xb0]
mov eax, dword [esi + 4]
mov dword [ecx + edx*4], ebx
inc edx
inc edi
add eax, 0xfffffffc
mov dword [esi + 0xb0], edx
je 0x72c698
mov dword [esi + 4], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x50], edx
mov eax, dword [eax + edi*4]
mov dword [esi + 0xc], eax
lock inc dword [ecx]
jle 0x72bc2e
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x14
call fcn.0071ee80
test eax, eax
je 0x72d3f7
mov dword [eax], 1
mov ebx, eax
mov dword [eax + 4], 1
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x50]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
cmp edx, dword [esi + 0xa8]
je 0x72c600
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x18]
jmp 0x72c61a
mov edi, dword [esi + 0x78]
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
test edi, edi
mov dword [esi + 0xa0], eax
mov dword [esi + 0x9c], ecx
je 0x72d312
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x50], edx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, ebx
call fcn.00722fe0
add ebx, 4
dec edi
jne 0x72c6d0
cmp dword [esi + 0x70], 0
je 0x72c6f4
push dword [esi + 0x14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xa4]
lock dec dword [eax]
jne 0x72c70a
lea ecx, [esi + 0xa4]
call fcn.00622240
lea ecx, [esi + 0x7c]
mov edx, 1
push dword [esi + 0x48]
call fcn.007253a0
add esp, 4
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x72d274
mov eax, dword [esi + 0x9c]
lea ecx, [eax + ecx*4]
mov edi, eax
mov dword [esi + 0x2c], ecx
jmp 0x72c749
cmp edi, dword [esi + 0x2c]
je 0x72d274
mov ebx, dword [edi]
call fcn.00724480
test eax, eax
je 0x72d433
mov ecx, dword [eax]
mov dword [esi + 4], ebx
cmp ecx, 0x7ffffffe
ja 0x72d44b
lea edx, [ecx + 1]
mov dword [eax], edx
mov ebx, dword [eax + 4]
cmp ebx, 2
je 0x72d455
mov ecx, dword [eax + 8]
mov edx, 1
mov dword [esi + 0x50], ecx
lock xadd dword [ecx], edx
test ebx, ebx
mov dword [esi + 0xc], ebx
je 0x72c7a0
mov ecx, 1
test edx, edx
jns 0x72c7aa
jmp 0x72bc2e
xor ecx, ecx
test edx, edx
js 0x72bc2e
dec dword [eax]
add edi, 4
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x14], edi
mov edx, dword [0x94b9fc]
mov edi, dword [0x94b9f8]
mov dword [esi + 0x74], ecx
nop word [eax + eax]
mov ebx, edi
mov ecx, edx
mov eax, edi
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x94b9f8]
mov edi, eax
jne 0x72c7d0
movzx eax, byte [0x94bfc5]
mov ebx, edx
xor ecx, ecx
mov edx, 0xc0
call fcn.0071ee80
test eax, eax
je 0x72d46f
mov ecx, eax
and eax, 0xffffffc0
cmp dword [esi + 0xc], 0
mov dword [eax + 0x3c], ecx
mov ecx, dword [esi + 0x50]
mov dword [eax + 0x40], 0xcc
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0x937bfc
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x58], edi
mov edi, dword [esi + 4]
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x64], 0
mov dword [eax + 0x60], 2
mov ebx, eax
lea edx, [ecx + 0x138]
lea ecx, [ecx + 0x100]
mov dword [eax + 0x68], edi
mov dword [eax + 0x78], 0
mov dword [eax + 0x7c], 0
mov dword [eax + 0x80], 0
cmove edx, ecx
mov eax, dword [edx]
mov dword [esi + 4], eax
add eax, 0x28
mov dword [esi + 0x6c], eax
push eax
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x72cab1
mov dword [esi + 0x3c], 0
mov edx, dword [esi + 4]
mov edi, dword [esi + 0x14]
add ebx, 0x40
movzx eax, byte [edx + 0x2c]
cmp byte [edx + 0x78], 0
mov dword [esi + 0x40], ebx
je 0x72c900
lock sub dword [ebx], 0x40
jb 0x72d4f7
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0x18]
add esp, 4
mov eax, dword [esi + 0x18]
and eax, 0xffffff00
or eax, 4
mov dword [esi + 0x18], eax
cmp byte [esi + 0x3c], 0
jne 0x72c9a0
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
je 0x72c9a0
jmp 0x72cb33
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x3c]
cmp eax, ecx
jne 0x72c91b
lea ecx, [edx + 0x30]
call fcn.00724700
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x3c]
mov edx, dword [esi + 4]
mov edi, 0
mov edx, dword [edx + 0x38]
add edx, eax
cmp edx, ecx
cmovb ecx, edi
mov edi, dword [esi + 0x40]
inc eax
sub edx, ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x34]
mov dword [ecx + edx*8], edi
mov byte [ecx + edx*8 + 4], 1
mov ecx, dword [esi + 4]
mov dword [ecx + 0x3c], eax
lock inc dword [ecx + 0xa0]
mov eax, dword [ecx + 0x9c]
test eax, eax
je 0x72ca13
lock dec dword [ecx + 0x9c]
lea eax, [ecx + 0x90]
inc dword [ecx + 0x60]
push eax
call dword [sym.imp.kernel32.dll_WakeConditionVariable]
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
and eax, 0xffffff00
or eax, 5
cmp byte [esi + 0x3c], 0
mov dword [esi + 0x18], eax
jne 0x72c9a0
mov eax, dword [0x94bfbc]
test eax, 0x7fffffff
jne 0x72cb33
nop word [eax + eax]
mov ebx, dword [esi + 0xc]
push dword [esi + 0x6c]
call dword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0x18]
and al, 0xfe
cmp al, 4
jne 0x72d47e
mov eax, dword [esi + 0x50]
lock dec dword [eax]
mov edx, dword [esi + 0x40]
sete al
test ebx, ebx
je 0x72c9e0
test al, al
je 0x72c9f0
lea ecx, [esi + 0x74]
mov ebx, edx
call fcn.00722e30
jmp 0x72c9ee
test al, al
je 0x72c9f0
lea ecx, [esi + 0x74]
mov ebx, edx
call fcn.00722da0
mov edx, ebx
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg dword [edx], ecx
je 0x72c740
mov eax, dword [edx + 8]
push edx
call dword [eax + 0x10]
add esp, 4
jmp 0x72c740
mov eax, dword [ecx + 0x98]
mov edi, dword [esi + 0x14]
cmp eax, dword [ecx + 0x94]
je 0x72c976
mov ecx, dword [esi + 4]
mov ebx, dword [ecx + 0x64]
test ebx, ebx
je 0x72d62e
lock inc dword [ebx]
jle 0x72bc2e
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
mov edx, dword [esi + 4]
mov edx, dword [edx + 0x74]
mov dword [esi + 0x20], edx
push eax
lea eax, [esi + 0xa8]
push eax
call dword [ecx + 0x14]
mov ecx, dword [esi + 4]
add esp, 8
mov eax, dword [ecx + 8]
test eax, eax
je 0x72ca77
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0xac]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0xb0]
mov dword [esi + 8], ecx
mov ecx, 1
lock xadd dword [edx], ecx
cmp dword [esi + 0xc], 0
je 0x72cac0
mov dword [esi + 0x44], 1
test ecx, ecx
jns 0x72cacf
jmp 0x72bc2e
call fcn.007d1b30
xor al, 1
mov dword [esi + 0x3c], eax
jmp 0x72c8a3
mov dword [esi + 0x44], 0
test ecx, ecx
js 0x72bc2e
test eax, eax
mov dword [esi + 0x24], ebx
je 0x72cb15
xor ecx, ecx
cmp dword [esi + 0x1c], 0x80000000
je 0x72cd67
mov edx, dword [esi + 8]
cmp edx, 8
jae 0x72cb4f
test edx, edx
je 0x72cd3f
xor ecx, ecx
nop word [eax + eax]
cmp byte [edi + ecx], 0
je 0x72d5eb
inc ecx
cmp dword [esi + 8], ecx
jne 0x72cb00
jmp 0x72cd3f
mov eax, dword [0x94bef4]
test eax, eax
je 0x72cb91
dec eax
mov dword [esi + 0x10], eax
xor ecx, ecx
cmp dword [esi + 0x1c], 0x80000000
je 0x72cd67
jmp 0x72cae5
call fcn.007d1b30
mov ebx, dword [esi + 0xc]
test al, al
jne 0x72c9a3
mov eax, dword [esi + 4]
mov byte [eax + 0x2c], 1
jmp 0x72c9a3
lea eax, [edi + 3]
and eax, 0xfffffffc
sub eax, edi
je 0x72cb87
cmp eax, edx
cmovae eax, edx
test eax, eax
je 0x72cb87
xor ecx, ecx
nop word cs:[eax + eax]
nop
cmp byte [edi + ecx], 0
je 0x72d5eb
inc ecx
cmp eax, ecx
jne 0x72cb70
lea ecx, [edx - 8]
jmp 0x72cce0
lea ecx, [edx - 8]
xor eax, eax
jmp 0x72cce4
lea ecx, [esi + 0xa8]
mov edx, str.RUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
push 0xe
call fcn.007166b0
add esp, 4
mov eax, dword [esi + 0xa8]
cmp eax, 0x80000000
je 0x72ccab
mov edx, dword [esi + 0xac]
mov dword [esi + 0x4c], eax
lea ecx, [esi + 0x168]
mov dword [esi + 0x15c], edx
push dword [esi + 0xb0]
call fcn.004670b0
add esp, 4
cmp dword [esi + 0x168], 0
mov al, 1
mov dword [esi + 0x28], eax
jne 0x72cc7a
mov edx, dword [esi + 0x170]
test edx, edx
je 0x72cc7a
mov ecx, dword [esi + 0x16c]
movzx eax, byte [ecx]
cmp eax, 0x2d
je 0x72cc13
cmp eax, 0x2b
jne 0x72cc18
dec edx
je 0x72cc7a
inc ecx
jmp 0x72cc18
cmp edx, 1
je 0x72cc7a
xor eax, eax
cmp edx, 9
jae 0x72cc4a
mov ebx, edx
movzx edx, byte [ecx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x72cc82
lea eax, [eax + eax*4]
inc ecx
lea eax, [edx + eax*2]
mov edx, ebx
dec edx
jne 0x72cc1f
mov dword [esi + 0x28], 0
mov ebx, dword [esi + 0x24]
cmp dword [esi + 0x4c], 0
jne 0x72cc8b
jmp 0x72cca5
test edx, edx
je 0x72cccd
mov ebx, ecx
movzx ecx, byte [ecx]
mov dword [esi + 0x10], edx
mov edx, 0xa
mul edx
seto dl
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x72cc82
test dl, dl
jne 0x72cc82
mov edx, dword [esi + 0x10]
inc ebx
dec edx
add eax, ecx
mov ecx, ebx
mov ebx, dword [esi + 0x24]
jae 0x72cc4a
cmp dword [esi + 0x4c], 0
jne 0x72cc8b
jmp 0x72cca5
mov ebx, dword [esi + 0x24]
cmp dword [esi + 0x4c], 0
je 0x72cca5
push dword [esi + 0x15c]
push 0
push dword [0x94bf18]
mov dword [esi + 0x10], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x10]
cmp byte [esi + 0x28], 0
je 0x72ccb0
mov eax, 0x200000
mov dword [esi + 0x10], eax
inc eax
mov dword [0x94bef4], eax
xor ecx, ecx
cmp dword [esi + 0x1c], 0x80000000
jne 0x72cae5
jmp 0x72cd67
mov dword [esi + 0x28], 0
cmp dword [esi + 0x4c], 0
jne 0x72cc8b
jmp 0x72cca5
cmp eax, ecx
ja 0x72cd17
movq xmm0, qword [edi + eax]
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x7d4590]
pandn xmm0, xmm1
pand xmm0, xmmword [0x7d44f0]
movd edx, xmm0
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
or ebx, edx
jne 0x72cd17
add eax, 8
jmp 0x72cce0
mov edx, dword [esi + 8]
sub edx, eax
je 0x72cd3f
lea ebx, [edi + eax]
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [ebx + ecx], 0
je 0x72d5e9
inc ecx
cmp edx, ecx
jne 0x72cd30
mov eax, dword [esi + 0x1c]
lea ecx, [esi + 0xa8]
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xac], edi
mov dword [esi + 0xb0], eax
call fcn.00418dc0
mov ebx, dword [esi + 0x24]
mov ecx, eax
call fcn.0070e390
lock inc dword [eax]
jle 0x72bc2e
mov edi, eax
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x18
call fcn.0071ee80
test eax, eax
je 0x72d642
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [esi + 0x168], eax
mov dword [esi + 0x28], eax
lock inc dword [eax]
jle 0x72bc2e
movzx eax, byte [0x94bea5]
mov dword [esi + 0x1c], edi
test al, al
je 0x72ce2a
mov byte [0x94bea5], 1
call fcn.0071ced0
test eax, eax
je 0x72d749
mov ecx, dword [eax]
mov dword [eax], 0
test ecx, ecx
je 0x72ce2a
mov dword [esi + 8], ecx
lock inc dword [ecx]
jle 0x72bc2e
mov byte [0x94bea5], 1
mov dword [esi + 0x298], 0
call fcn.0071ced0
mov ebx, dword [esi + 0x24]
test eax, eax
je 0x72d739
mov ecx, dword [eax]
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x1c]
mov dword [eax], edx
test ecx, ecx
jne 0x72ce5c
jmp 0x72ce6f
movzx eax, byte [0x94bea5]
test al, al
je 0x72ce68
mov byte [0x94bea5], 1
call fcn.0071ced0
test eax, eax
je 0x72d749
mov ecx, dword [eax]
mov dword [eax], 0
mov dword [esi + 8], 0
test ecx, ecx
je 0x72ce6f
lock dec dword [ecx]
jne 0x72ce6f
call fcn.00724770
jmp 0x72ce6f
mov dword [esi + 8], 0
mov eax, dword [esi + 0x168]
mov ecx, dword [eax + 8]
mov dword [esi + 0x4c], eax
test ecx, ecx
je 0x72ce89
lock inc dword [ecx + 0xc]
jle 0x72d6a4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x1c
call fcn.0071ee80
test eax, eax
je 0x72d3e8
mov ecx, eax
mov dword [eax], edi
mov eax, dword [esi + 0x28]
mov edx, 8
mov edi, ecx
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x20]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
xor ecx, ecx
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x72d651
mov ebx, eax
mov dword [eax], edi
mov dword [eax + 4], 0x935f48
push 0
push 0x10000
push eax
push 0x71e770
push dword [esi + 0x10]
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
test eax, eax
je 0x72d0e2
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 4]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x34], eax
lock inc dword [edi + 0x98]
inc dword [edi + 0x74]
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x54]
mov ebx, dword [edi + 0x5c]
mov eax, dword [edi + 0x58]
mov dword [esi + 0x1c], ecx
mov dword [esi + 8], edx
push dword [esi + 0x20]
push ebx
mov dword [esi + 0x10], eax
push eax
call fcn.007247b0
mov ecx, edi
add esp, 0xc
cmp dword [ecx + 0x48], 0
mov edi, eax
je 0x72d1ae
mov eax, dword [ecx + 0x40]
mov edx, dword [ecx + 0x44]
mov ecx, edi
mov dword [esi + 0x44], 0
mov dword [esi + 0x24], 0
shr ecx, 0x19
movd xmm0, ecx
mov dword [esi + 0x28], ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea ecx, [eax - 0x10]
mov dword [esi + 0x10], eax
mov dword [esi + 8], edx
pshufd xmm0, xmm0, 0
mov dword [esi + 0x1c], ecx
and edi, edx
movdqu xmm1, xmmword [eax + edi]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb eax, xmm2
nop word [eax + eax]
test ax, ax
je 0x72cfe0
tzcnt ecx, eax
mov ebx, dword [esi + 0x1c]
lea edx, [eax - 1]
add ecx, edi
and edx, eax
and ecx, dword [esi + 8]
mov eax, ecx
shl eax, 4
sub ebx, eax
mov eax, dword [esi + 0x20]
cmp dword [ebx], eax
mov eax, edx
jne 0x72cfb0
jmp 0x72d033
cmp dword [esi + 0x24], 1
mov edx, dword [esi + 8]
mov ecx, 1
je 0x72d004
pmovmskb eax, xmm1
xor ecx, ecx
test eax, eax
setne cl
tzcnt eax, eax
add eax, edi
and eax, edx
mov dword [esi + 0x4c], eax
mov dword [esi + 0x24], ecx
pcmpeqd xmm2, xmm2
mov ecx, dword [esi + 4]
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test eax, eax
jne 0x72d1f4
mov eax, dword [esi + 0x44]
lea edi, [edi + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x10]
jmp 0x72cf97
mov edx, dword [esi + 0x10]
neg ecx
shl ecx, 4
mov eax, dword [edx + ecx - 4]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x38]
movsd xmm0, qword [edx + ecx - 0xc]
movsd qword [esi + 0xa8], xmm0
mov dword [edx + ecx - 4], eax
movq xmm0, qword [esi + 0x30]
movq qword [edx + ecx - 0xc], xmm0
mov edi, dword [esi + 0xa8]
test edi, edi
je 0x72d0a1
push dword [esi + 0xb0]
call dword [sym.imp.kernel32.dll_CloseHandle]
lock dec dword [edi]
jne 0x72d08b
mov ecx, dword [esi + 0xa8]
call fcn.004c23a0
mov eax, dword [esi + 0xac]
lock dec dword [eax]
jne 0x72d0a1
lea ecx, [esi + 0xac]
call fcn.004a8f70
cmp dword [esi + 0x30], 0
jne 0x72c973
cmp byte [esi + 0x34], 3
jne 0x72c973
mov edi, dword [esi + 0x38]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esi + 0x20], eax
push eax
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x72d1e0
cmp dword [ebx + 8], 9
jae 0x72d1cb
mov eax, dword [esi + 0x20]
jmp 0x72d1d1
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esi + 8], ebx
mov dword [esi + 0x298], 2
mov dword [esi + 0x10], eax
push eax
mov dword [esi + 0x20], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0x20]
cmp dword [eax + 4], 0
je 0x72d129
cmp dword [eax + 8], 9
jae 0x72d114
mov eax, dword [esi + 0x10]
jmp 0x72d11a
mov eax, dword [esi + 0x10]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esi + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
call sub.kernel32.dll_GetLastError
mov ecx, dword [esi + 0x4c]
mov edi, eax
lock dec dword [ecx]
jne 0x72d154
lea ecx, [esi + 0x168]
call fcn.004a8f70
mov ecx, dword [esi + 0x1c]
lock dec dword [ecx]
jne 0x72d161
call fcn.004c23a0
lea ecx, [esi + 0x34]
mov dword [esi + 0x38], edi
mov dword [esi + 0x34], 0
mov dword [esi + 0x30], 0
call fcn.00475840
cmp al, 0xd
jne 0x72d18f
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x98]
test eax, eax
jne 0x72c973
mov dword [esi + 0x160], edi
mov edi, dword [esi + 0x14]
mov dword [esi + 0x18], 0
cmp byte [esi + 0x3c], 0
jne 0x72c9a0
jmp 0x72c8e5
mov edx, dword [esi + 0x1c]
add ecx, 0x40
push ebx
push dword [esi + 0x10]
push dword [esi + 8]
call fcn.007d2530
mov ecx, dword [esi + 4]
add esp, 0xc
jmp 0x72cf5d
mov eax, dword [esi + 0x20]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x72c973
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x4c]
movzx eax, byte [edx + edi]
test al, al
js 0x72d212
movdqa xmm0, xmmword [edx]
pmovmskb eax, xmm0
tzcnt edi, eax
movzx eax, byte [edx + edi]
and al, 1
mov edx, dword [esi + 0x28]
mov dword [esi + 0x4c], edi
mov ebx, dword [esi + 0x10]
movzx eax, al
sub dword [ecx + 0x48], eax
lea eax, [edi - 0x10]
and eax, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x10]
mov byte [eax + edi], dl
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 8]
mov byte [edi + eax + 0x10], dl
mov edi, dword [esi + 0x4c]
inc dword [ecx + 0x4c]
mov ecx, dword [esi + 0x20]
mov eax, ebx
shl edi, 4
sub eax, edi
neg edi
mov dword [eax - 0x10], ecx
movq xmm0, qword [esi + 0x30]
movq qword [ebx + edi - 0xc], xmm0
mov ecx, dword [esi + 0x38]
mov dword [eax - 4], ecx
cmp dword [esi + 0x30], 0
jne 0x72c973
jmp 0x72d0ab
cmp dword [esi + 0xa0], 0
je 0x72d291
push dword [esi + 0x9c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x48]
mov dword [eax], 1
mov dword [eax + 0x1c], 1
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 0x1e0]
mov dword [eax + 0x24], ecx
mov ecx, dword [esi + 0x164]
mov dword [eax + 0x28], ecx
lea ecx, [esi + 0x7c]
call fcn.007255b0
mov eax, dword [esi + 0x7c]
cmp eax, 2
je 0x72d334
test eax, eax
lea ecx, [esi + 0x80]
je 0x72d324
mov eax, dword [esi + 0x80]
lock dec dword [eax]
jne 0x72d334
call fcn.00722e30
jmp 0x72d334
mov dword [esi + 0x9c], 4
mov dword [esi + 0xa0], 0
mov dword [esi + 0x50], 0
cmp dword [esi + 0x70], 0
jne 0x72c6e3
jmp 0x72c6f4
mov dword [esi + 0x50], edx
cmp dword [esi + 0x70], 0
jne 0x72c6e3
jmp 0x72c6f4
mov eax, dword [esi + 0x80]
lock dec dword [eax]
jne 0x72d334
call fcn.00722da0
mov eax, dword [esi + 0x290]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
cmp eax, 0x80000000
je 0x72b62a
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x168], eax
mov dword [esi + 0xa8], 0x9363e8
mov dword [esi + 0x1f0], 0x93648c
mov dword [esi + 0x1f4], 2
mov dword [esi + 0xac], 0x41c480
mov dword [esi + 0x200], 0
shl edx, 8
mov dword [esi + 0x16c], edi
mov dword [esi + 0x170], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0x174], edx
lea edx, [esi + 0x168]
mov dword [esi + 0x1f8], ecx
lea ecx, [esi + 0x1f0]
mov dword [esi + 0x1fc], 2
mov dword [esi + 0xb0], edx
mov edx, 0x93649c
mov dword [esi + 0xb4], 0x7172e0
call fcn.007c1b50
mov ecx, 4
mov edx, 0x1c
call fcn.007c1490
mov ecx, 4
mov edx, 0x14
call fcn.007c1490
mov ecx, 4
mov edx, 0x400
call fcn.007c1490
mov ecx, 8
mov edx, 0x18
call fcn.007c1490
mov ecx, 8
mov edx, 0x40
call fcn.007c1490
mov al, 1
lea ecx, [esi + 0xa8]
mov edx, 0x937380
mov byte [esi + 0xa8], al
call fcn.007d0240
mov ecx, 0x936a34
call fcn.007c1f10
mov dword [eax], ecx
xor eax, eax
lea ecx, [esi + 0xa8]
mov edx, 0x937380
mov byte [esi + 0xa8], al
call fcn.007d0240
mov ecx, 0x40
mov edx, 0x80
call fcn.007c1490
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x160]
lea edx, [esi + 0x30]
mov dword [esi + 0xa8], 0x938334
mov dword [esi + 0xac], 1
mov dword [esi + 0xb8], 0
mov dword [esi + 0x168], edx
mov edx, 0x937380
mov dword [esi + 0x16c], fcn.00717140
mov byte [esi + 0x30], al
shrd eax, ecx, 8
mov dword [esi + 0x31], eax
mov eax, ecx
shr ecx, 0x18
mov byte [esi + 0x37], cl
lea ecx, [esi + 0x168]
shr eax, 8
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0xa8]
mov word [esi + 0x35], ax
mov dword [esi + 0xb4], 1
call fcn.007c1b50
mov ecx, str.assertion_failed:_prev.ref_count_____1
mov edx, 0x27
push 0x938244
call fcn.007c1ca0
mov al, 1
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
lea ecx, [esi + 0x138]
mov dword [esi + str.TOKIO_WORKER_THREADS___cannot_be_set_to_0], 0x9363e8
mov dword [esi + 0x1f4], 0x41c480
lea edx, [esi + 0x168]
mov dword [esi + 0xa8], 0x9364d0
mov dword [esi + 0xac], 3
mov dword [esi + 0xb8], 0
mov dword [esi + 0x1f8], ecx
lea ecx, [esi + 0x1f0]
mov dword [esi + 0x1fc], 0x466f20
mov dword [esi + 0x200], edx
mov edx, 0x9364e8
mov dword [esi + 0x204], 0x418cf0
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0xb4], 3
mov byte [esi + 0x138], al
call fcn.007c1b50
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x90], 0
mov dword [esi + 0xa8], 0
lea ecx, [esi + 0x90]
mov edx, 0x9371a4
push 0x93722c
lea eax, [esi + 0xa8]
push eax
call fcn.007d2e00
mov edx, dword [esi + 0x50]
mov ecx, 4
call fcn.007c1490
add ecx, eax
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 8]
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edi
mov dword [esi + 0xb0], edx
mov dword [esi + 0xb4], ecx
mov ecx, str.thread_name_may_not_contain_interior_null_bytes
mov edx, 0x2f
push 0x935f38
push 0x936114
lea eax, [esi + 0xa8]
push eax
call fcn.007c1f60
call fcn.00418cb0
mov ecx, str.assertion_failed:_shared.shutdown_tx.is_some__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.37.0_src_runtime_blockingpool.rs
mov edx, 0x2e
push 0x9383e0
call fcn.007c1ca0
mov ecx, 4
mov edx, 0x18
call fcn.007c1490
mov ecx, 4
mov edx, 8
mov dword [esi + 0x50], edi
mov dword [esi + 0x298], 1
call fcn.007c1490
jmp 0x72bc2e
mov ecx, 4
mov edx, 0x2c
call fcn.007c1490
mov ecx, str.assertion_failed:_sharded_size.is_power_of_two__C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.37.0_srcutil_sharded_list.rs
mov edx, 0x30
push 0x938f60
call fcn.007c1ca0
mov ecx, 8
mov edx, 0x140
call fcn.007c1490
add ecx, 8
xor edx, edx
call fcn.00711030
lea ecx, [esi + 0xa8]
mov edx, 0x93397c
mov dword [esi + 0xa8], 0x933954
mov dword [esi + 0xac], 1
mov dword [esi + 0xb8], 0
mov dword [esi + 0xb0], 0x93d1f8
mov dword [esi + 0xb4], 0
call fcn.007c1b50
mov edx, dword [esi + 0x28]
mov ecx, 4
call fcn.007c1490
mov ecx, 4
mov edx, 0x40
call fcn.007c1490
mov ecx, 8
mov edx, 0x108
call fcn.007c1490
mov ecx, 4
mov edx, pe_nt_image_headers32
call fcn.007c1490
mov ecx, 4
mov edx, 0x3c
call fcn.007c1490
mov eax, dword [esi + 8]
lock dec dword [eax]
jne 0x72d749
mov ecx, dword [esi + 8]
call fcn.00724770
mov ecx, 0x93c0b4
mov edx, 0x46
push 0x93410c
push 0x9337a4
lea eax, [esi + 0xa8]
push eax
call fcn.007c1f60
lea eax, [esi + 0xa8]
lea ecx, [esi + 0x1f0]
mov edx, 0x93645c
mov dword [esi + 0xa8], 0x9363e8
mov dword [esi + 0x1f0], 0x9363d8
mov dword [esi + 0x1f4], 2
mov dword [esi + 0x200], 0
mov dword [esi + 0xac], 0x41c480
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], 1
call fcn.007c1b50
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0xc]
mov dword [esi + 0x168], eax
mov dword [esi + 0x16c], edx
mov dword [esi + 0x170], ecx
mov dword [esi + 4], 0
jmp 0x72d510