Function at 0x5744b0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1b0
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
test eax, eax
je 0x574a56
mov ebx, dword [edi]
movzx edx, byte [ebx]
test dl, dl
js 0x5744db
lea edi, [ebx + 1]
jmp 0x57453e
movzx esi, byte [ebx + 1]
mov ecx, edx
and ecx, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x57452a
mov dword [esp + 4], edx
movzx edx, byte [ebx + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp byte [esp + 4], 0xf0
jb 0x574536
movzx esi, byte [ebx + 3]
shl edx, 6
and ecx, 7
shl ecx, 0x12
and esi, 0x3f
or esi, edx
mov edx, esi
or edx, ecx
cmp edx, 0x110000
je 0x574a56
lea edi, [ebx + 4]
jmp 0x57453e
shl ecx, 6
lea edi, [ebx + 2]
or ecx, esi
mov edx, ecx
jmp 0x57453e
shl ecx, 0xc
lea edi, [ebx + 3]
or edx, ecx
add ebx, eax
mov ecx, 3
mov dword [esp + 0xc], edi
lea eax, [ebx + 3]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
sub eax, edi
shr eax, 2
cmp eax, 4
cmovae ecx, eax
xor ebx, ebx
cmp ecx, 0x1fffffff
setb al
jae 0x575bbe
mov bl, al
lea esi, [ecx*4 + 4]
inc ecx
shl ebx, 2
test esi, esi
js 0x575bbe
mov dword [esp + 4], ecx
je 0x57477c
mov eax, dword [0x607474]
mov edi, edx
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x5745b9
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x574786
mov ecx, dword [0x607460]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
mov edx, edi
test ecx, ecx
je 0x574786
mov eax, dword [esp + 0xc]
mov dword [ecx], edx
mov dword [esp + 8], ecx
cmp eax, dword [esp + 0x14]
je 0x574795
mov eax, dword [esp + 0xc]
mov esi, 1
mov edx, ecx
jmp 0x574608
mov edi, eax
mov eax, dword [esp + 0xc]
mov dword [edx + esi*4], ebx
inc esi
mov dword [esp + 4], edi
cmp eax, dword [esp + 0x14]
je 0x5747a1
movzx ebx, byte [eax]
test bl, bl
js 0x574630
inc eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
cmp esi, eax
jne 0x5745f0
jmp 0x5746d0
movzx edi, byte [eax + 1]
mov ecx, ebx
and ecx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x57468d
mov dword [esp], edx
movzx edx, byte [eax + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x5746a8
movzx ebx, byte [eax + 3]
and ecx, 7
shl edx, 6
shl ecx, 0x12
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0x110000
je 0x57479d
add eax, 4
mov dword [esp + 0xc], eax
mov edx, dword [esp]
mov eax, dword [esp + 4]
cmp esi, eax
jne 0x5745f0
jmp 0x5746d0
shl ecx, 6
add eax, 2
or ecx, edi
mov dword [esp + 0xc], eax
mov ebx, ecx
mov eax, dword [esp + 4]
cmp esi, eax
je 0x5746d0
jmp 0x5745f0
shl ecx, 0xc
add eax, 3
or edx, ecx
mov dword [esp + 0xc], eax
mov ebx, edx
mov edx, dword [esp]
mov eax, dword [esp + 4]
cmp esi, eax
jne 0x5745f0
nop word cs:[eax + eax]
nop
mov edi, dword [esp + 0x10]
sub edi, dword [esp + 0xc]
shr edi, 2
inc edi
add edi, eax
jb 0x575b80
add eax, eax
cmp eax, edi
cmova edi, eax
cmp edi, 5
jae 0x5746f5
mov edi, 4
lea eax, [edi*4]
xor edx, edx
cmp edi, 0x20000000
mov dword [esp], eax
mov eax, dword [esp + 4]
setb dl
shl edx, 2
test eax, eax
je 0x574732
lea ecx, [eax*4]
mov eax, dword [esp + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 4
mov dword [esp + 0x20], ecx
jmp 0x57473a
mov dword [esp + 0x1c], 0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x60]
push eax
push dword [esp + 4]
call fcn.00566ea0
add esp, 8
cmp dword [esp + 0x60], 0
mov edx, dword [esp + 0x64]
je 0x574773
cmp edx, 0x80000001
jne 0x575b7c
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
jmp 0x5745f2
mov dword [esp + 8], edx
jmp 0x5745f2
mov ecx, ebx
test ecx, ecx
jne 0x5745ce
push esi
push ebx
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
mov edi, dword [ebp + 0xc]
jmp 0x574a44
mov edi, dword [esp + 4]
cmp esi, 5
jb 0x574a3d
mov eax, dword [esp + 8]
cmp dword [eax], 0x5c
jne 0x574a3d
mov eax, dword [esp + 8]
cmp dword [eax + 4], 0x5c
jne 0x574a3d
mov eax, dword [esp + 8]
cmp dword [eax + 8], 0x3f
jne 0x574a3d
mov eax, dword [esp + 8]
cmp dword [eax + 0xc], 0x5c
jne 0x574a3d
mov eax, dword [esp + 8]
cmp dword [eax + esi*4 - 4], 0x5c
jne 0x574a3d
test edi, edi
je 0x574806
mov eax, dword [0x607460]
push dword [esp + 8]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
test eax, eax
je 0x574821
mov ecx, dword [edi]
dec eax
cmp byte [ecx + eax], 0x5c
jne 0x574821
mov dword [edi + 8], eax
add eax, 0xffffffff
jb 0x574813
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], edi
mov dword [esp + 0x18], 0x604e6c
mov dword [esp + 0x1c], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0xcc], 0x567700
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0041acc0
add esp, 8
movq xmm0, qword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
movq qword [esp + 0x130], xmm0
mov dword [esp + 0x138], eax
call fcn.00581250
test al, al
je 0x574b88
lea eax, [esp + 0x140]
push edi
push eax
call fcn.0041b900
add esp, 8
mov edx, dword [esp + 0x148]
mov ecx, dword [esp + 0x140]
call fcn.005810a0
mov dword [esp + 0xc], edx
mov esi, eax
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
push eax
mov dword [esp + 0x30], eax
call sub.KERNEL32.dll_CreateFileW
cmp eax, 0xffffffff
je 0x574c50
lea ebx, [esp + 0x11c]
mov dword [esp + 4], eax
mov dword [esp + 0x104], 0x38
mov dword [esp + 0x11c], 0
lea eax, [esp + 0x104]
mov dword [esp + 0x18], 0x605078
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov eax, dword [esp + 0x104]
test eax, eax
je 0x574982
js 0x575bc8
push 1
mov esi, eax
push eax
call fcn.00401730
add esp, 8
test eax, eax
je 0x575bd2
mov edi, eax
mov eax, dword [esp + 0x104]
jmp 0x57498b
mov esi, eax
mov edi, 1
xor eax, eax
push 0
push ebx
push eax
push edi
push 0
push 0
push 0x560000
push dword [esp + 0x20]
call sub.KERNEL32.dll_DeviceIoControl
test eax, eax
jne 0x574d2a
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
mov dword [esp + 0xb0], eax
jne 0x574da0
lea eax, [esp + 0x104]
mov dword [esp + 0x18], 0x605114
mov dword [esp + 0x1c], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x64], 0x42bbb0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 2
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov eax, dword [esp + 0x11c]
test esi, esi
mov dword [esp + 0x104], eax
je 0x574909
push edi
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x574909
test edi, edi
mov edi, dword [ebp + 0xc]
je 0x574a56
mov eax, dword [0x607460]
push dword [esp + 8]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], edi
mov dword [esp + 0x18], 0x604f40
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0xcc], 0x567700
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea ecx, [esp + 0x18]
lea eax, [esp + 0x60]
push ecx
push eax
call fcn.0041acc0
add esp, 8
movq xmm0, qword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov edi, dword [0x607474]
mov ebx, dword [0x607460]
movq qword [esp + 0xc8], xmm0
mov dword [esp + 0xd0], eax
mov dword [esp + 0x20], eax
movq qword [esp + 0x18], xmm0
movzx eax, byte [edi]
mov eax, dword [ebx]
test eax, eax
jne 0x574aed
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x575b9c
mov dword [ebx], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x575b9c
mov esi, eax
mov eax, dword [esp + 0xd0]
mov dword [esi + 8], eax
movq xmm0, qword [esp + 0xc8]
movq qword [esi], xmm0
movzx eax, byte [edi]
mov eax, dword [ebx]
test eax, eax
je 0x574b26
mov edi, dword [ebp + 0xc]
jmp 0x574b38
call sub.KERNEL32.dll_GetProcessHeap
mov edi, dword [ebp + 0xc]
test eax, eax
je 0x575bad
mov dword [ebx], eax
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x575bad
mov ecx, dword [ebp + 8]
mov dword [eax], esi
mov dword [eax + 4], 0x6044d0
mov byte [eax + 8], 0x27
mov dword [ecx + 4], eax
mov dword [ecx], 3
mov byte [ecx + 0x54], 2
cmp dword [edi + 4], 0
je 0x574b7d
mov eax, dword [0x607460]
push dword [edi]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0xc8]
mov dword [esp + 0xc8], edi
mov dword [esp + 0x18], 0x604f18
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0xcc], 0x567700
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0041acc0
add esp, 8
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x20], eax
mov eax, dword [0x607474]
movq qword [esp + 0xc8], xmm0
movq qword [esp + 0x18], xmm0
movzx eax, byte [eax]
push 4
push 0xc
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c20
mov ecx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
movq xmm0, qword [esp + 0xc8]
movq qword [eax], xmm0
push 0x6044d0
push eax
push 0x27
lea eax, [esp + 0x24]
push eax
call fcn.0052d830
add esp, 0x10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x57524c
call sub.KERNEL32.dll_GetLastError
mov dword [esp + 0xb0], eax
push 0xffffffffffffffff
call sub.KERNEL32.dll_CloseHandle
lea eax, [esp + 0xb0]
mov dword [esp + 0x18], 0x605194
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xcc], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0041acc0
add esp, 8
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x20], eax
mov eax, dword [0x607474]
movq qword [esp + 0xc8], xmm0
movq qword [esp + 0x18], xmm0
movzx eax, byte [eax]
push 4
push 0xc
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c42
mov ecx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
movq xmm0, qword [esp + 0xc8]
movq qword [eax], xmm0
push 0x6044d0
push eax
push 0x27
lea eax, [esp + 0x24]
push eax
call fcn.0052d830
add esp, 0x10
jmp 0x574f21
test esi, esi
je 0x574e95
mov ebx, dword [edi]
test ebx, ebx
je 0x575a9d
xor edx, edx
cmp ebx, 0x5555556
setb al
jae 0x575c7e
lea ecx, [ebx*8]
mov dl, al
lea ecx, [ecx + ecx*2]
shl edx, 3
test ecx, ecx
js 0x575c7e
mov dword [esp + 8], edx
je 0x574d86
mov eax, dword [0x607474]
movzx eax, byte [eax]
push edx
push ecx
mov dword [esp + 8], ecx
call fcn.00401610
mov ecx, dword [esp + 8]
add esp, 8
mov edx, eax
test edx, edx
jne 0x575aa4
push ecx
push dword [esp + 0xc]
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push dword [esp + 4]
call sub.KERNEL32.dll_CloseHandle
lea eax, [esp + 0xb0]
mov dword [esp + 0x18], 0x60516c
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xcc], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.0041acc0
add esp, 8
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov dword [esp + 0x20], eax
mov eax, dword [0x607474]
movq qword [esp + 0xc8], xmm0
movq qword [esp + 0x18], xmm0
movzx eax, byte [eax]
push 4
push 0xc
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c70
mov ecx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
movq xmm0, qword [esp + 0xc8]
movq qword [eax], xmm0
push 0x6044d0
push eax
push 0x27
lea eax, [esp + 0x24]
push eax
call fcn.0052d830
add esp, 0x10
xor ebx, ebx
test esi, esi
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 4], eax
je 0x574f2f
push edi
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x574f2f
push dword [esp + 4]
call sub.KERNEL32.dll_CloseHandle
mov eax, dword [0x607474]
movzx eax, byte [eax]
push 1
push 0x24
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c85
mov ebx, eax
push 0x24
push str.No_extents_found._Should_not_happen._DEBUGVOLUME__Found_Volume__disk_extents:
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x607474]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x24
mov dword [esp + 0x20], 0x24
movzx eax, byte [eax]
push 4
push 0xc
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c93
mov dword [eax], ebx
mov dword [eax + 4], 0x24
mov dword [eax + 8], 0x24
push 0x6044d0
push eax
push 0x27
lea eax, [esp + 0x24]
push eax
call fcn.0052d830
add esp, 0x10
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0xc], 0
mov word [ecx], 0
je 0x574f4e
mov eax, dword [0x607460]
push ecx
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x144], 0
je 0x574f6d
mov eax, dword [0x607460]
push dword [esp + 0x140]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
je 0x5751d5
mov eax, dword [esp + 4]
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], ebx
mov dword [esp + 0x170], esi
mov dword [esp + 0x16c], eax
mov esi, dword [ebp + 0xc]
lea edi, [esp + 0x174]
push esi
push edi
call fcn.0041b900
add esp, 8
lea eax, [esp + 0x130]
lea ecx, [esp + 0x180]
push eax
push ecx
call fcn.0041b900
add esp, 8
movq xmm0, qword [esp + 0x164]
movq xmm1, qword [esp + 0x16c]
movq qword [esp + 0x1a0], xmm1
movq qword [esp + 0x198], xmm0
lea edi, [esp + 0x18c]
push esi
push edi
call fcn.0041b900
add esp, 8
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.0041b900
add esp, 8
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xa4]
test edx, edx
je 0x575020
cmp byte [edx + ecx - 1], 0x5c
je 0x575056
cmp edx, dword [esp + 0xa8]
jne 0x575043
lea ecx, [esp + 0xa4]
call fcn.005673f0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xac]
mov byte [ecx + edx], 0x5c
inc edx
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0xa4]
call fcn.005810a0
mov dword [esp + 4], eax
mov dword [esp + 0x12c], edx
lea edi, [esp + 0x98]
mov dword [esp + 0x98], 5
mov dword [esp + 0x100], 0
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov dword [esp + 0x18], 0x6051c8
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x64], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 1
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov esi, dword [esp + 0x98]
test esi, esi
je 0x5750fe
xor ebx, ebx
cmp esi, 0x40000000
setb al
jae 0x575be2
mov bl, al
mov edi, esi
add esi, esi
add ebx, ebx
test esi, esi
js 0x575be2
je 0x575107
push ebx
push esi
call fcn.00401730
add esp, 8
jmp 0x575109
mov ebx, 2
xor eax, eax
jmp 0x575125
mov eax, ebx
test eax, eax
je 0x575bec
mov ecx, eax
mov eax, dword [esp + 0x98]
mov esi, edi
lea edi, [esp + 0x98]
mov ebx, ecx
lea ecx, [esp + 0x100]
push ecx
push eax
push ebx
push dword [esp + 0x10]
call sub.KERNEL32.dll_GetVolumePathNamesForVolumeNameW
test eax, eax
jne 0x575280
call sub.KERNEL32.dll_GetLastError
cmp eax, 0xea
mov dword [esp + 0xc8], eax
jne 0x57588d
lea eax, [esp + 0x100]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], 0x42bbb0
mov dword [esp + 0x18], 0x605340
mov dword [esp + 0x1c], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0x68], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 2
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov eax, dword [esp + 0x100]
test esi, esi
mov dword [esp + 0x98], eax
je 0x575083
push ebx
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x575083
mov eax, dword [esp + 4]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xcc], esi
lea esi, [esp + 0xc8]
mov dword [esp + 0x18], 0x604ec4
mov dword [esp + 0x1c], 3
mov dword [esp + 0x28], 0
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], 0x567700
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], fcn.0052dbf0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 2
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov edx, dword [ebp + 8]
cmp dword [esp + 0x134], 0
mov dword [edx], eax
mov dword [edx + 4], ecx
mov byte [edx + 0x54], 2
je 0x574b67
mov eax, dword [0x607460]
push dword [esp + 0x130]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x574b67
push 0
call fcn.00549640
add esp, 4
test eax, eax
je 0x575c50
mov dword [esp + 0x140], 0x604470
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
movdqu xmm0, xmmword [eax]
movd edx, xmm0
pshufd xmm1, xmm0, 0x55
add edx, 1
movd ecx, xmm1
adc ecx, 0
test esi, esi
mov dword [eax], edx
mov dword [eax + 4], ecx
movdqu xmmword [esp + 0x150], xmm0
je 0x57584f
lea eax, [esi + esi]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
xor eax, eax
jmp 0x575309
inc edi
cmp esi, edi
mov eax, edi
jbe 0x57584f
mov edi, dword [esp + 0x14]
sub esi, eax
lea ecx, [ebx + eax*2]
sub edi, eax
sub edi, eax
xor edx, edx
cmp word [ecx + edx*2], 0
je 0x575327
inc edx
add edi, 0xfffffffe
jne 0x575318
mov edx, esi
mov esi, dword [esp + 0xc]
test edx, edx
je 0x57584f
mov edi, edx
add edi, eax
jb 0x575c0f
cmp edi, esi
ja 0x575bfb
push edx
push ecx
lea eax, [esp + 0x10c]
push eax
call fcn.0052f440
add esp, 0xc
push dword [esp + 0x10c]
push dword [esp + 0x108]
lea eax, [esp + 0x68]
push eax
call fcn.00428910
add esp, 0xc
cmp dword [esp + 0x60], 0
jne 0x575380
mov eax, dword [esp + 0x68]
mov dword [esp], eax
jne 0x575466
mov eax, dword [esp + 0x64]
test eax, eax
je 0x575466
mov dword [esp + 0x114], eax
mov eax, dword [esp]
mov dword [esp + 0x60], 0x605238
mov dword [esp + 0x64], 2
mov dword [esp + 0x70], 0
mov dword [esp + 0x118], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x114]
mov dword [esp + 0xb4], 0x567700
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xbc], 0x561b20
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 2
lea eax, [esp + 0x60]
push eax
call fcn.0044fbf0
add esp, 4
mov esi, dword [esp + 0x118]
cmp esi, 4
jae 0x5754df
test esi, esi
je 0x5756a3
mov ecx, dword [esp + 0x114]
mov esi, dword [esp + 0xc]
movzx eax, byte [ecx]
test al, al
jns 0x5756b4
movzx edx, byte [ecx + 1]
mov ebx, eax
and eax, 0x1f
and edx, 0x3f
cmp bl, 0xdf
jbe 0x5756ab
movzx ecx, byte [ecx + 2]
shl edx, 6
shl eax, 0xc
and ecx, 0x3f
or ecx, edx
or eax, ecx
jmp 0x5756b0
lea eax, [esp + 0x104]
mov dword [esp + 0x60], 0x605314
mov dword [esp + 0x64], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xb4], 0x531600
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 1
lea eax, [esp + 0x60]
push eax
call fcn.0044fbf0
add esp, 4
cmp dword [esp + 0x108], 0
je 0x5752fe
push dword [esp + 0x104]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x5752fe
test esi, esi
js 0x575c2e
mov eax, dword [esp + 0x114]
mov dword [esp + 8], eax
mov eax, dword [0x607474]
movzx eax, byte [eax]
push 1
push esi
call fcn.00401610
add esp, 8
test eax, eax
je 0x575c35
mov ebx, eax
push esi
push dword [esp + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], esi
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x64]
push eax
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
call fcn.005770b0
add esp, 8
cmp dword [esp + 0x60], 0x110001
jne 0x575631
movq xmm0, qword [esp + 0x64]
lea eax, [esp + 0x114]
mov dword [esp + 0xb0], 0x605284
mov dword [esp + 0xb4], 2
mov dword [esp + 0xc0], 0
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x120], 0x561b20
mov dword [esp + 0x124], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x128], fcn.0052dbf0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 2
movq qword [esp + 0x9c], xmm0
lea eax, [esp + 0xb0]
push eax
call fcn.0044fbf0
add esp, 4
cmp byte [esp + 0x9c], 3
jne 0x5754b7
mov eax, dword [esp + 0xa0]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esi]
push ebx
call eax
add esp, 4
cmp dword [esi + 4], 0
je 0x57562c
cmp dword [esi + 8], 9
jb 0x57561d
mov ebx, dword [ebx - 4]
push ebx
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x5757a6
movsd xmm2, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x80]
movq xmm0, qword [esp + 0x90]
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x70]
movq qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm2, qword [esp + 0x60]
movq xmm1, qword [esp + 0x68]
movq qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm2
lea ecx, [esp + 0x140]
lea edx, [esp + 0x18]
call fcn.005695a0
jmp 0x5754b7
mov esi, dword [esp + 0xc]
xor eax, eax
jmp 0x5756b4
shl eax, 6
or eax, edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x160], eax
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00576bc0
add esp, 8
cmp dword [esp + 0x60], 0x110001
jne 0x5757c5
movq xmm0, qword [esp + 0x64]
lea eax, [esp + 0x160]
mov dword [esp + 0xb0], 0x6052d0
mov dword [esp + 0xb4], 2
mov dword [esp + 0xc0], 0
mov dword [esp + 0x11c], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x120], fcn.00428400
mov dword [esp + 0x124], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x128], fcn.0052dbf0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 2
movq qword [esp + 0x9c], xmm0
lea eax, [esp + 0xb0]
push eax
call fcn.0044fbf0
add esp, 4
cmp byte [esp + 0x9c], 3
jne 0x5754b7
mov eax, dword [esp + 0xa0]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esi]
push ebx
call eax
add esp, 4
cmp dword [esi + 4], 0
je 0x5757a6
cmp dword [esi + 8], 9
jb 0x575797
mov ebx, dword [ebx - 4]
push ebx
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
jmp 0x5754b7
movsd xmm2, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x80]
movq xmm0, qword [esp + 0x90]
movsd qword [esp + 0xf0], xmm2
movsd qword [esp + 0xe8], xmm1
movsd xmm2, qword [esp + 0x78]
movsd xmm1, qword [esp + 0x70]
movq qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm2
movsd qword [esp + 0xd8], xmm1
movsd xmm2, qword [esp + 0x60]
movq xmm1, qword [esp + 0x68]
movq qword [esp + 0xd0], xmm1
movsd qword [esp + 0xc8], xmm2
lea ecx, [esp + 0x140]
lea edx, [esp + 0xc8]
call fcn.005695a0
jmp 0x5754b7
movsd xmm1, qword [esp + 0x150]
movq xmm0, qword [esp + 0x158]
movsd xmm2, qword [esp + 0x140]
movsd qword [esp + 0x70], xmm1
movq xmm1, qword [esp + 0x148]
movq qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm2
movq qword [esp + 0x68], xmm1
jmp 0x5758f0
lea eax, [esp + 0xa4]
mov dword [esp + 0x18], 0x60539c
mov dword [esp + 0x1c], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x64], 0x567700
mov dword [esp + 0x68], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], 0x42bbb0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 2
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov dword [esp + 0x60], 0
test esi, esi
je 0x575903
push ebx
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 4]
cmp dword [esp + 0x12c], 0
mov word [eax], 0
je 0x575925
push eax
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xa8], 0
je 0x575944
push dword [esp + 0xa4]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x190], 0
je 0x575963
push dword [esp + 0x18c]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov dword [esp + 0x18], str._ERRORSTORAGE__is_system_volume_is_not_implemented
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], str.called__Option::unwrap____on_a__None__valueIndex_out_of_bounds
mov dword [esp + 0x24], 0
lea esi, [esp + 0x18]
push esi
call fcn.0044fbf0
add esp, 4
push esi
call fcn.0057d1e0
add esp, 4
mov eax, dword [esp + 0x18]
mov edx, 1
test eax, eax
je 0x5759be
mov edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
jmp 0x5759c2
mov dword [esp + 4], eax
movsd xmm0, qword [esp + 0x174]
mov ecx, dword [esp + 0x17c]
movsd xmm1, qword [esp + 0x180]
movsd xmm3, qword [esp + 0x198]
movsd xmm2, qword [esp + 0x78]
mov ebx, dword [ebp + 8]
lea esi, [esp + 0x18]
mov dword [esp + 0x50], ecx
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x54], xmm1
mov ecx, dword [esp + 0x188]
movsd xmm1, qword [esp + 0x1a0]
mov edi, ebx
mov dword [esp + 0x5c], ecx
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x60]
mov ecx, 0x12
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x30], xmm1
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 4]
cmp dword [esp + 0x134], 0
movzx edx, word [esp + 0x60]
movzx ecx, byte [esp + 0x62]
mov dword [ebx + 0x50], eax
mov byte [ebx + 0x54], 0
mov word [ebx + 0x55], dx
mov byte [ebx + 0x57], cl
je 0x575a95
push dword [esp + 0x130]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov edi, dword [ebp + 0xc]
jmp 0x574b67
mov edx, 8
xor ecx, ecx
lea eax, [edi + 8]
push ecx
push eax
push edx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
push edi
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 4]
call sub.KERNEL32.dll_CloseHandle
lea eax, [esp + 0x140]
mov dword [esp + 0x18], 0x6050d4
mov dword [esp + 0x1c], 2
mov dword [esp + 0x28], 0
mov dword [esp + 0x60], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x64], 0x567700
mov dword [esp + 0x68], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], 0x576990
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 2
lea eax, [esp + 0x18]
push eax
call fcn.0044fbf0
add esp, 4
mov eax, dword [esp + 0xd0]
mov edi, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
mov esi, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0xc], 0
mov word [ecx], 0
jne 0x574f3f
jmp 0x574f4e
test edx, edx
jne 0x575b8a
call fcn.0041a880
jmp 0x575c9f
push dword [esp + 0x68]
push edx
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
call fcn.0041a880
jmp 0x575c9f
call fcn.0041a880
jmp 0x575c9f
push esi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
call fcn.0041a880
jmp 0x575c9f
push esi
push ebx
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0x6051f8
push esi
push edi
call fcn.004287f0
add esp, 0xc
jmp 0x575c9f
push 0x6051f8
push edi
push eax
call fcn.00428850
add esp, 0xc
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
call fcn.0041a880
jmp 0x575c9f
push esi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0x603aa0
push 0x604278
lea eax, [esp + 0x20]
push eax
push 0x46
push str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_threadlocal.rs
call fcn.004254f0
add esp, 0x14
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
call fcn.0041a880
jmp 0x575c9f
push 0x24
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x575c9f
push 0xc
push 4
call fcn.0041a8c0
add esp, 8
ud2