Function at 0x4fd550
Capabilities:
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, 0x180
cmp dword [edx], 1
mov ebx, ecx
call 0x4fd569
pop eax
mov dword [esp + 0x18], edx
mov dword [esp + 0xc4], eax
je 0x4fd591
cmp word [edx + 0x5c], 1
jne 0x4fd591
movzx eax, word [edx + 0x5e]
mov dword [esp + 0x4c], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd5ec
jmp 0x4fd5da
mov esi, dword [0x60500c]
mov edi, dword [0x605010]
pxor xmm0, xmm0
lea eax, [esp + 0x50]
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x70], 0
push eax
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [esp + 0x64]
cmp edi, eax
cmova edi, eax
cmp esi, edi
cmova edi, esi
mov dword [esp + 0x4c], edi
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd5ec
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffdd5
mov dword [0x6f1130], eax
push 0x8000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffdd5
mov esi, eax
mov eax, 0xffff8000
nop dword [eax + eax]
mov byte [esi + eax + 0x801c], 2
add eax, 0x20
jne 0x4fd610
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd638
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffddc
mov dword [0x6f1130], eax
push 0x44
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffddc
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
mov byte [eax + 0x10], 0
mov edi, eax
movdqa xmm0, xmmword [0x606c70]
movzx eax, word [esp + 0x50]
mov word [edi + 0x11], ax
mov al, byte [esp + 0x52]
mov byte [edi + 0x13], al
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 2
mov dword [edi + 0x24], esi
movdqu xmmword [edi + 0x28], xmm0
mov dword [edi + 0x38], 0x400
mov dword [edi + 0x3c], 0
mov byte [edi + 0x40], 0
movzx eax, word [esp + 0xc8]
mov word [edi + 0x41], ax
mov al, byte [esp + 0xca]
mov byte [edi + 0x43], al
mov dword [edi], 1
mov dword [edi + 4], 1
lock inc dword [edi]
jle 0x4ffbe4
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd6ec
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffded
mov dword [0x6f1130], eax
push 0x40
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffded
mov esi, eax
mov eax, dword [esp + 0x68]
mov dword [esi + 0x20], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [esp + 0x50]
movq xmm1, qword [esp + 0x58]
movq qword [esi + 0x10], xmm1
movsd qword [esi + 8], xmm0
mov byte [esi + 0x24], 2
movq xmm0, qword [esp + 0xc8]
movq qword [esi + 0x25], xmm0
mov eax, dword [esp + 0xcf]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 4
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
mov dword [esi], 1
mov dword [esi + 4], 1
lock inc dword [esi]
jle 0x4ffbe4
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd791
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffdf4
mov dword [0x6f1130], eax
push 0xb8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffdf4
movsd xmm0, qword [esp + 0x100]
mov dword [esp + 0x28], edi
mov edi, eax
mov dword [esp + 0x10], esi
lea esi, [esp + 0x50]
mov ecx, 0x16
add edi, 0x50
movsd qword [eax + 0x40], xmm0
movsd xmm0, qword [esp + 0xf8]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0xe8]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0xe0]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0xd8]
movsd qword [eax + 0x18], xmm0
movq xmm0, qword [esp + 0xc8]
movq xmm1, qword [esp + 0xd0]
movq qword [eax + 0x10], xmm1
movq qword [eax + 8], xmm0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 2
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0xa8], 0
mov dword [eax + 0xac], 4
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xb4], ecx
mov dword [eax + 0xb0], edx
mov dword [eax], 1
mov dword [eax + 4], 1
lock inc dword [eax]
jle 0x4ffbe4
mov dword [esp + 0x1c], eax
mov eax, dword [0x6f1130]
mov edi, dword [esp + 0x18]
test eax, eax
jne 0x4fd89d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffd8d
mov dword [0x6f1130], eax
push 0x1c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffd8d
mov dword [eax + 8], 0
mov byte [eax + 0x10], 2
mov dword [esp + 0x118], eax
movzx ecx, word [esp + 0x50]
mov word [eax + 0x11], cx
mov cl, byte [esp + 0x52]
mov byte [eax + 0x13], cl
mov dword [eax + 0x14], 4
mov dword [eax], 1
mov dword [eax + 4], 1
lock inc dword [eax]
jle 0x4ffbe4
call fcn.005eeb70
test eax, eax
je 0x4ffdb2
movdqu xmm1, xmmword [eax]
movd edx, xmm1
pshufd xmm0, xmm1, 0x55
movdqa xmmword [esp + 0x120], xmm1
add edx, 1
movd ecx, xmm0
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fd93b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffdfb
mov dword [0x6f1130], eax
push 0xa0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffdfb
mov dword [eax + 0x5c], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x61], 0
mov dword [eax + 0x5d], 0
movdqa xmm0, xmmword [esp + 0x120]
mov ecx, dword [0x6d6b64]
mov dword [esp + 0x24], ebx
movzx edx, word [esp + 0x50]
mov word [eax + 0x65], dx
mov dl, byte [esp + 0x52]
mov byte [eax + 0x67], dl
movdqu xmmword [eax + 0x68], xmm0
mov dword [eax + 0x78], 0
mov dword [eax + 0x7c], 0x61fe20
mov dword [eax + 0x84], 0
mov dword [eax + 0x80], 0
mov dword [eax + 0x89], 0
mov dword [eax + 0x85], 0
movzx edx, word [esp + 0xc8]
mov word [eax + 0x8d], dx
mov dl, byte [esp + 0xca]
mov byte [eax + 0x8f], dl
mov dword [eax + 0x90], ecx
mov dword [eax + 0x94], 0
mov dword [eax + 0x98], 0
mov dword [eax], 1
mov dword [eax + 4], 1
cmp dword [edi], 1
jne 0x4fdaed
mov ecx, dword [edi + 0xc]
test ecx, ecx
js 0x4ffd6d
mov esi, dword [edi + 4]
mov ebx, eax
mov dword [esp + 0x14], ecx
je 0x4fdb49
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdad7
call sub.KERNEL32.dll_GetProcessHeap
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x4ffe7d
mov dword [0x6f1130], eax
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4fdb4e
jmp 0x4ffe7d
mov ecx, dword [edi + 0x28]
test ecx, ecx
js 0x4ffd6d
mov esi, dword [edi + 0x20]
mov ebx, eax
mov dword [esp + 0x114], ecx
je 0x4fdc13
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdb2c
call sub.KERNEL32.dll_GetProcessHeap
mov ecx, dword [esp + 0x114]
test eax, eax
je 0x4ffe7d
mov dword [0x6f1130], eax
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0x114]
test eax, eax
jne 0x4fdc18
jmp 0x4ffe7d
mov eax, 1
mov edx, ecx
shr edx, 0x10
mov dword [esp + 0x20], edx
mov edx, ecx
shr edx, 0x18
mov dword [esp + 0x13c], edx
push ecx
push esi
mov dword [esp + 0x164], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, edi
mov edi, dword [edi + 0x18]
test edi, edi
js 0x4ffd6d
mov esi, dword [eax + 0x10]
mov eax, 1
mov dword [esp + 0x138], 1
je 0x4fdbc3
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdbb2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffe7b
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffe7b
push edi
push esi
mov dword [esp + 0xc8], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0xbc], edi
cmp word [eax + 0x1c], 1
sete dl
xor ecx, ecx
cmp byte [eax + 0x20], 0
movzx eax, word [eax + 0x1e]
setne cl
shl eax, 0x10
or edx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], edx
jmp 0x4fde8c
mov eax, 1
push ecx
push esi
mov dword [esp + 0x34], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x4ffd6d
mov esi, dword [edi + 0x2c]
mov dword [esp + 0x110], ecx
je 0x4fdc79
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdc60
call sub.KERNEL32.dll_GetProcessHeap
mov ecx, dword [esp + 0x110]
test eax, eax
je 0x4ffe7d
mov dword [0x6f1130], eax
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0x110]
test eax, eax
jne 0x4fdc7e
jmp 0x4ffe7d
mov eax, 1
push ecx
push esi
mov dword [esp + 0x160], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x4ffd6d
mov esi, dword [edi + 0x38]
mov dword [esp + 0x10c], ecx
je 0x4fdce2
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdcc9
call sub.KERNEL32.dll_GetProcessHeap
mov ecx, dword [esp + 0x10c]
test eax, eax
je 0x4ffe7d
mov dword [0x6f1130], eax
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0x10c]
test eax, eax
jne 0x4fdce7
jmp 0x4ffe7d
mov eax, 1
push ecx
push esi
mov dword [esp + 0x15c], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [edi + 0x4c]
test ecx, ecx
js 0x4ffd6d
mov esi, dword [edi + 0x44]
mov dword [esp + 0x108], ecx
je 0x4fdd4b
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdd32
call sub.KERNEL32.dll_GetProcessHeap
mov ecx, dword [esp + 0x108]
test eax, eax
je 0x4ffe7d
mov dword [0x6f1130], eax
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 0x108]
test eax, eax
jne 0x4fdd50
jmp 0x4ffe7d
mov eax, 1
push ecx
push esi
mov dword [esp + 0x158], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [edi + 0x58]
test esi, esi
js 0x4ffd6d
mov edi, dword [edi + 0x50]
je 0x4fdd9d
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdd89
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4fdd96
mov dword [0x6f1130], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4fdda2
mov ecx, esi
jmp 0x4ffe7d
mov eax, 1
push esi
push edi
mov dword [esp + 0x154], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x138], 0
xor edx, edx
movzx eax, byte [ecx + 8]
mov eax, dword [eax*4 + 0x4ffe8c]
add eax, dword [esp + 0xc4]
jmp eax
mov dword [esp + 0x120], ebx
lock inc dword [ebx]
jle 0x4ffbe4
call fcn.005eeb70
test eax, eax
je 0x4ffdb2
movdqu xmm1, xmmword [eax]
movd edx, xmm1
pshufd xmm0, xmm1, 0x55
add edx, 1
movd ecx, xmm0
adc ecx, 0
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x10]
lock inc dword [ecx]
jle 0x4ffbe4
mov eax, dword [ebp + 0x14]
lock inc dword [eax]
jle 0x4ffbe4
movdqa xmmword [esp + 0x160], xmm1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fdf01
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffe02
mov dword [0x6f1130], eax
push 0xa8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffe02
mov ebx, eax
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x20]
movdqa xmm0, xmmword [esp + 0x160]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x15c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x14]
mov byte [ebx + 0x10], al
mov byte [ebx + 0x11], ah
mov byte [ebx + 0x12], cl
mov ecx, dword [esp + 0x13c]
mov byte [ebx + 0x13], cl
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0xc0]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0xbc]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x130]
mov dword [ebx + 0x20], edi
lea edi, [esp + 0x50]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x114]
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x158]
mov dword [ebx + 0x34], eax
mov eax, dword [esp + 0x110]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x154]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x10c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x150]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x108]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x14c]
mov dword [ebx + 0x58], eax
mov eax, dword [esp + 0x134]
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x60], esi
mov esi, dword [esp + 0x18]
mov word [ebx + 0x64], ax
movzx eax, word [esp + 0x11e]
mov word [ebx + 0x66], ax
mov al, byte [esp + 0x3f]
mov byte [ebx + 0x68], al
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x53]
mov dword [ebx + 0x6c], ecx
mov dword [ebx + 0x69], eax
mov dword [ebx + 0x70], 0
mov byte [ebx + 0x74], 0
mov ecx, 0x1a
movzx eax, word [esp + 0xc8]
mov word [ebx + 0x75], ax
mov al, byte [esp + 0xca]
mov byte [ebx + 0x77], al
mov eax, dword [esp + 0x120]
movdqu xmmword [ebx + 0x78], xmm0
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0x61fe20
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0x9c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xa0], eax
mov dword [ebx], 1
mov dword [ebx + 4], 1
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x6f1130]
test eax, eax
je 0x4fe0a1
mov esi, dword [esp + 0x28]
jmp 0x4fe0b7
call sub.KERNEL32.dll_GetProcessHeap
mov esi, dword [esp + 0x28]
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], 3
mov dword [eax + 0x14], esi
mov dword [eax], 1
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [0x6f1130]
test eax, eax
je 0x4fe0fc
mov esi, dword [esp + 0x10]
jmp 0x4fe112
call sub.KERNEL32.dll_GetProcessHeap
mov esi, dword [esp + 0x10]
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], esi
mov dword [eax], 1
mov dword [esp + 0x18], eax
mov dword [eax + 4], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fe165
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov dword [eax + 8], 0
mov esi, eax
mov byte [eax + 0xc], 0
mov eax, dword [ebp + 8]
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x14], eax
mov dword [esi], 1
mov dword [esi + 4], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fe1b8
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov ecx, eax
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], ecx
mov dword [ecx + 0x14], eax
mov dword [ecx], 1
mov dword [ecx + 4], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fe219
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], 0
lea esi, [esp + 0x50]
mov dword [eax + 0x14], edx
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [ecx + 0x68], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x120]
mov edi, ebx
mov dword [ebx + 0x6c], ecx
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov dword [ebx + 0x70], ecx
mov dword [ebx + 0x74], esi
mov esi, dword [esp + 0x18]
mov dword [ebx + 0x78], edi
mov edi, dword [esp + 0x10]
mov dword [ebx + 0x7c], esi
mov esi, dword [esp + 0x20]
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], edi
mov edi, dword [esp + 0x1c]
mov dword [ebx + 0x88], esi
mov esi, dword [esp + 0x2c]
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x94], esi
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], edx
mov dword [ebx + 0xa0], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fe2fd
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffd8d
mov dword [0x6f1130], eax
push 0x1c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffd8d
mov dword [eax + 8], 0
mov byte [eax + 0x10], 5
mov esi, eax
movzx eax, word [esp + 0x50]
mov word [esi + 0x11], ax
mov al, byte [esp + 0x52]
mov byte [esi + 0x13], al
mov dword [esi + 0x14], 4
mov dword [esi], 1
mov dword [esi + 4], 1
lock inc dword [esi]
jle 0x4ffbe4
mov eax, dword [ebx + 0x68]
mov dword [esp + 0x10], eax
lock inc dword [eax]
jle 0x4ffbe4
mov eax, ebx
mov ebx, dword [ebx + 0x6c]
lock inc dword [ebx]
jle 0x4ffbe4
mov edi, dword [eax + 0x74]
lock inc dword [edi]
jle 0x4ffbe4
lea ecx, [eax + 0x80]
call fcn.004f7050
mov dword [esp + 0x18], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fe39d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], esi
mov dword [eax], 1
mov dword [eax + 4], 1
mov edx, dword [0x6d6b64]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x18]
test ebx, ebx
mov dword [esp + 0xe4], 2
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], eax
je 0x4fec65
dec dword [esp + 0x4c]
mov dword [esp + 0x18], 0
nop dword [eax + eax]
mov eax, dword [0x6dd4e0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov edi, dword [0x605014]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov eax, ebx
sub eax, ecx
cmp eax, edi
jae 0x4fe510
mov edx, ecx
add edx, edi
jb 0x4fe4cb
mov esi, ecx
test ebx, ebx
mov eax, ebx
je 0x4fe4ac
mov eax, dword [esp + 0x40]
mov dword [esp + 0x118], ebx
lea ecx, [esp + 0x50]
push 1
push dword [esp + 0x11c]
push eax
push 1
call fcn.005538a0
add esp, 0x10
cmp dword [esp + 0x50], 1
jne 0x4fe4f3
test ebx, ebx
je 0x4fe4e0
push dword [esp + 0x40]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x4c], ebx
jne 0x4fec1a
jmp 0x4fec65
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ecx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
nop word cs:[eax + eax]
nop
mov esi, edi
sub esi, ecx
jbe 0x4fe56a
sub ebx, ecx
cmp ebx, esi
jb 0x4fe543
mov edi, ecx
mov ebx, dword [esp + 0x40]
cmp esi, 2
lea eax, [ebx + edi]
jb 0x4fe562
lea ecx, [esi - 1]
push ecx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea edi, [esi + edi - 1]
add ebx, edi
mov eax, ebx
jmp 0x4fe566
mov edx, ecx
lea ecx, [esp + 0x40]
push esi
call fcn.005f2340
add esp, 4
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
cmp esi, 2
lea eax, [ebx + edi]
jae 0x4fe52a
test esi, esi
je 0x4fe56a
inc edi
mov byte [eax], 0
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x38], edi
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x30], xmm0
lock inc dword [esi]
jle 0x4ffbe4
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x28], eax
lock inc dword [eax]
jle 0x4ffbe4
lea ecx, [esp + 0xe4]
call fcn.004f7050
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1c], esi
mov eax, dword [eax*4 + 0x4ffea4]
add eax, dword [esp + 0xc4]
jmp eax
mov eax, dword [esp + 0xc8]
inc ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], eax
jmp 0x4fe460
mov eax, dword [0x6f11c8]
cmp eax, 2
jbe 0x4fed49
mov eax, dword [esp + 0xdc]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0x30]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x45a1b0
mov eax, dword [0x6f1080]
mov dword [esp + 0x50], 3
mov dword [esp + 0x54], str.locker::core::pipeline::chunk_workers_supervisorsrc_core_pipeline_chunk_workers_supervisor.rsspawned_file_dispatchers
mov dword [esp + 0x58], 0x30
mov dword [esp + 0x5c], 0x684264
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0x30
mov dword [esp + 0x78], str.locker::core::pipeline::chunk_workers_supervisorsrc_core_pipeline_chunk_workers_supervisor.rsspawned_file_dispatchers
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0x2d
mov dword [esp + 0x84], 0x68429c
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], 0x46
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0xe0]
movq xmm0, qword [esp + 0xf0]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [esp + 0xc8]
movq qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm1
movq xmm1, qword [esp + 0xd0]
movsd qword [esp + 0x50], xmm2
movq qword [esp + 0x58], xmm1
call fcn.005ee4a0
xor ecx, ecx
mov ebx, eax
call fcn.005bfbd0
lock inc dword [eax]
jle 0x4ffbe4
mov edi, eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4fedd7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbe8
mov dword [0x6f1130], eax
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbe8
mov dword [eax + 8], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov esi, eax
lock inc dword [eax]
jle 0x4ffbe4
mov al, byte [0x6f11b9]
mov dword [esp + 0x18], ebx
test al, al
je 0x4fee5e
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
mov ebx, dword [eax]
mov dword [eax], 0
test ebx, ebx
je 0x4fee5e
lock inc dword [ebx]
jle 0x4ffbe4
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
jne 0x4fee7d
lock dec dword [ebx]
jne 0x4ffd1f
mov ecx, ebx
jmp 0x4ffd1a
mov al, byte [0x6f11b9]
test al, al
je 0x4feeb4
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
xor ebx, ebx
mov ecx, dword [eax]
mov dword [eax], ebx
test ecx, ecx
mov dword [esp + 0x30], ecx
je 0x4fee97
lock dec dword [ecx]
jne 0x4fee97
mov ecx, dword [esp + 0x30]
call fcn.00402960
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4feec7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffe13
mov dword [0x6f1130], eax
jmp 0x4feec7
mov dword [esp + 0x30], 0
xor ebx, ebx
mov eax, dword [0x6f1130]
test eax, eax
je 0x4feea0
push 0x3c
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffe13
mov dword [eax], edi
mov dword [eax + 4], ebx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x30]
movsd xmm0, qword [esp + 0x50]
movq xmm1, qword [esp + 0x58]
movsd qword [eax + 8], xmm0
movq qword [eax + 0x10], xmm1
movsd xmm0, qword [esp + 0x60]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x68]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [eax + 0x28], xmm0
movq xmm0, qword [esp + 0x78]
movq qword [eax + 0x30], xmm0
mov dword [eax + 0x38], esi
push 0x620bc8
push eax
call fcn.005efa80
add esp, 8
cmp dword [esp + 0x30], 1
je 0x4ffe24
push dword [esp + 0x34]
call sub.KERNEL32.dll_CloseHandle
lock dec dword [edi]
mov ebx, dword [esp + 0x24]
jne 0x4fef5d
mov ecx, edi
call fcn.004023c0
lock dec dword [esi]
jne 0x4fef69
mov ecx, esi
call fcn.00512a90
mov eax, dword [0x60500c]
mov edi, dword [ebx + 0x70]
shr edi, 1
cmp eax, edi
cmova edi, eax
mov dword [esp + 0x40], edi
mov eax, dword [0x6f11c8]
cmp eax, 2
jbe 0x4ff076
lea eax, [esp + 0x40]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0xc8]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0x45a1b0
mov eax, dword [0x6f1080]
mov dword [esp + 0x50], 3
mov dword [esp + 0x54], str.locker::core::pipeline::file_worker_poolsrc_core_pipeline_file_worker_pool.rsspawned_chunk_work_infastructure
mov dword [esp + 0x58], 0x28
mov dword [esp + 0x5c], 0x6842e4
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0x28
mov dword [esp + 0x78], str.locker::core::pipeline::file_worker_poolsrc_core_pipeline_file_worker_pool.rsspawned_chunk_work_infastructure
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0x25
mov dword [esp + 0x84], 0x684314
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], 0x63
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov edi, dword [esp + 0x40]
lea eax, [ebx + 0x8c]
test edi, edi
mov dword [esp + 0x18], eax
jne 0x4ff19b
jmp 0x4ff088
lea eax, [ebx + 0x8c]
test edi, edi
mov dword [esp + 0x18], eax
jne 0x4ff19b
mov eax, dword [0x60500c]
mov edi, dword [ebx + 0x70]
shr edi, 2
cmp eax, edi
cmova edi, eax
mov dword [esp + 0x30], edi
mov eax, dword [0x6f11c8]
cmp eax, 2
jbe 0x4ff3b5
lea eax, [esp + 0x30]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0xc8]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0x45a1b0
mov eax, dword [0x6f1080]
mov dword [esp + 0x50], 3
mov dword [esp + 0x54], str.locker::core::pipeline::file_worker_poolsrc_core_pipeline_file_worker_pool.rsspawned_chunk_work_infastructure
mov dword [esp + 0x58], 0x28
mov dword [esp + 0x5c], 0x68435c
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0x28
mov dword [esp + 0x78], str.locker::core::pipeline::file_worker_poolsrc_core_pipeline_file_worker_pool.rsspawned_chunk_work_infastructure
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0x25
mov dword [esp + 0x84], 0x684314
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], 0x6e
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x4ff3e7
jmp 0x4ff3b9
mov ebx, dword [esp + 0x24]
dec edi
je 0x4ff088
mov esi, dword [ebx + 0x68]
lock inc dword [esi]
jle 0x4ffbe4
mov eax, dword [ebx + 0x6c]
lock inc dword [eax]
jle 0x4ffbe4
mov ecx, dword [ebx + 0x88]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
lock inc dword [ecx]
jle 0x4ffbe4
mov ecx, dword [esp + 0x18]
call fcn.004f7500
mov dword [esp + 0x1c], eax
call fcn.005ee4a0
xor ecx, ecx
mov dword [esp + 0x120], eax
call fcn.005bfbd0
lock inc dword [eax]
jle 0x4ffbe4
mov dword [esp + 0x14], esi
mov ebx, eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4ff214
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbe8
mov dword [0x6f1130], eax
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbe8
mov dword [eax + 8], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov esi, eax
lock inc dword [eax]
jle 0x4ffbe4
movzx eax, byte [0x6f11b9]
mov dword [esp + 0x20], edi
test al, al
je 0x4ff2a0
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
mov edi, dword [eax]
mov dword [eax], 0
test edi, edi
je 0x4ff2a0
lock inc dword [edi]
jle 0x4ffbe4
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
jne 0x4ff2c1
jmp 0x4ffd13
movzx eax, byte [0x6f11b9]
test al, al
je 0x4ff300
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
xor edi, edi
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
mov dword [esp + 0x50], ecx
je 0x4ff2db
lock dec dword [ecx]
jne 0x4ff2db
mov ecx, dword [esp + 0x50]
call fcn.00402960
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4ff310
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffc56
mov dword [0x6f1130], eax
jmp 0x4ff310
xor edi, edi
mov eax, dword [0x6f1130]
test eax, eax
je 0x4ff2e4
nop dword [eax + eax]
push 0x20
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffc56
mov ecx, dword [esp + 0x14]
mov dword [eax], ebx
mov dword [eax + 4], edi
mov edx, dword [esp + 0x120]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x14], 2
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], esi
lea ecx, [esp + 0x50]
push 0x620b78
push eax
call fcn.005efa80
add esp, 8
cmp dword [esp + 0x50], 1
je 0x4ffc78
push dword [esp + 0x54]
call sub.KERNEL32.dll_CloseHandle
lock dec dword [ebx]
mov edi, dword [esp + 0x20]
jne 0x4ff3a0
mov ecx, ebx
call fcn.004023c0
lock dec dword [esi]
jne 0x4ff190
jmp 0x4ff3a9
lock dec dword [esi]
jne 0x4ff190
mov ecx, esi
call fcn.00512a90
jmp 0x4ff190
test edi, edi
jne 0x4ff3e7
mov ecx, dword [ebp + 0x10]
lock dec dword [ecx]
jne 0x4ff3c6
call fcn.00402a90
mov ecx, dword [ebp + 0x14]
lock dec dword [ecx]
jne 0x4ff3d3
call fcn.00402a90
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [ebx + 0x68]
lock inc dword [esi]
jle 0x4ffbe4
mov eax, dword [ebx + 0x78]
lock inc dword [eax + 8]
jle 0x4ffbe4
lock inc dword [eax]
jle 0x4ffbe4
mov ebx, dword [ebx + 0x94]
mov dword [esp + 0x28], eax
lock inc dword [ebx]
jle 0x4ffbe4
call fcn.005ee4a0
xor ecx, ecx
mov dword [esp + 0x1c], eax
call fcn.005bfbd0
lock inc dword [eax]
jle 0x4ffbe4
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4ff458
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbe8
mov dword [0x6f1130], eax
push 0x14
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbe8
mov dword [eax + 8], 0
mov dword [eax], 1
mov dword [eax + 4], 1
mov edi, eax
lock inc dword [eax]
jle 0x4ffbe4
movzx eax, byte [0x6f11b9]
mov dword [esp + 0x120], ebx
test al, al
je 0x4ff4e0
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
mov ebx, dword [eax]
mov dword [eax], 0
test ebx, ebx
je 0x4ff4e0
lock inc dword [ebx]
jle 0x4ffbe4
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
jne 0x4ff501
jmp 0x4fee4e
movzx eax, byte [0x6f11b9]
test al, al
je 0x4ff540
mov byte [0x6f11b9], 1
call fcn.005c06a0
test eax, eax
je 0x4ffd1f
xor ebx, ebx
mov ecx, dword [eax]
mov dword [eax], ebx
test ecx, ecx
mov dword [esp + 0x50], ecx
je 0x4ff51b
lock dec dword [ecx]
jne 0x4ff51b
mov ecx, dword [esp + 0x50]
call fcn.00402960
mov dword [esp + 0x14], esi
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4ff550
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ffbf9
mov dword [0x6f1130], eax
jmp 0x4ff550
xor ebx, ebx
mov dword [esp + 0x14], esi
mov eax, dword [0x6f1130]
test eax, eax
je 0x4ff528
nop
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ffbf9
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x120]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edi
lea ecx, [esp + 0x50]
push 0x620ba8
push eax
call fcn.005efa80
add esp, 8
cmp dword [esp + 0x50], 1
je 0x4ffc0a
push dword [esp + 0x54]
call sub.KERNEL32.dll_CloseHandle
lock dec dword [esi]
mov ebx, dword [esp + 0x24]
jne 0x4ff5e0
mov ecx, esi
call fcn.004023c0
lock dec dword [edi]
je 0x4ff5e5
mov esi, dword [ebx + 0x7c]
lock inc dword [esi]
jg 0x4ff5f8
jmp 0x4ffbe4
lock dec dword [edi]
jne 0x4ff5c5
mov ecx, edi
call fcn.00512a90
mov esi, dword [ebx + 0x7c]
lock inc dword [esi]
jle 0x4ffbe4
mov ecx, dword [esp + 0x18]
call fcn.004f7500
mov ecx, dword [ebx + 0x98]
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], eax
mov ecx, dword [ecx*4 + 0x4ffec4]
add ecx, dword [esp + 0xc4]
jmp ecx
ud2
mov ecx, 0x14
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 0x18
mov edx, 4
call fcn.0040a640
ud2
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
lock dec dword [edi]
jne 0x4ffc1e
mov ecx, edi
call fcn.00512a90
mov eax, dword [esp + 0x10]
lock dec dword [eax]
jne 0x4ffcd0
mov ecx, dword [esp + 0x10]
jmp 0x4ffccb
mov ecx, 0x20
mov edx, 4
call fcn.0040a640
ud2
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x24], eax
lock dec dword [esi]
jne 0x4ffc90
mov ecx, esi
call fcn.00512a90
lock dec dword [ebx]
jne 0x4ffc9c
mov ecx, ebx
call fcn.004023c0
mov dword [esp + 0x50], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
jmp 0x4ffcd8
call fcn.004023c0
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
mov ecx, str.failed_to_spawn_thread
mov edx, 0x16
push 0x686d24
push 0x620d04
jmp 0x4ffd5e
lock dec dword [edi]
jne 0x4ffd1f
mov ecx, edi
call fcn.005c09a0
lea eax, [esp + 0xc]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36library_std_src_threadlocal.rs
mov edx, 0x46
push 0x6d41c4
push 0x6d3878
push eax
call fcn.0045d480
add esp, 0xc
ud2
lea eax, [esp + 0x58]
push eax
call fcn.0045d480
add esp, 0xc
ud2
call fcn.0040a620
ud2
mov ecx, 0x1c
mov edx, 4
call fcn.0040a640
ud2
lea eax, [esp + 0xc]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36library_std_src_threadlocal.rs
mov edx, 0x46
push 0x6d8df8
push 0x682aa4
push eax
call fcn.0045d480
add esp, 0xc
ud2
mov ecx, 0x8000
jmp 0x4ffe07
mov ecx, 0x44
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 0x40
jmp 0x4ffe07
mov ecx, 0xb8
jmp 0x4ffe07
mov ecx, 0xa0
jmp 0x4ffe07
mov ecx, 0xa8
mov edx, 8
call fcn.0040a640
ud2
mov ecx, 0x3c
mov edx, 4
call fcn.0040a640
ud2
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x24], eax
lock dec dword [esi]
jne 0x4ffe3c
mov ecx, esi
call fcn.00512a90
lock dec dword [edi]
jne 0x4ffe48
mov ecx, edi
call fcn.004023c0
mov dword [esp + 0x50], ebx
jmp 0x4ffca0
mov ecx, edi
mov edx, 1
call fcn.0040a640
ud2