Function at 0x100828d0
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, 0xffffffc0
sub esp, 0x2c0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [eax], 0
test ecx, ecx
mov dword [esp + 0x74], ecx
je 0x10083b4d
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x12c], 0
mov byte [esp + 0x134], 0
lea eax, [esp + 0x140]
push 0x11
push str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildErrorkind
push eax
call fcn.10148de0
add esp, 0xc
movzx eax, byte [esp + 0x14c]
cmp al, 2
je 0x10082b10
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
test al, al
mov dword [esp + 0x34], ecx
je 0x100829be
test esi, esi
je 0x10082b10
test edi, edi
mov dword [esp + 0x38], esi
je 0x10082a44
movzx eax, byte [esi]
cmp eax, 0x2d
je 0x10082a3d
cmp eax, 0x2b
jne 0x10082a7d
dec edi
je 0x10082a44
lea ecx, [esi + 1]
jmp 0x10082a7f
test edi, edi
je 0x10082a37
mov eax, edi
lea eax, [esi + edi]
mov edx, esi
jmp 0x100829e6
add edx, 2
cmp ecx, eax
cmovne ecx, edx
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, eax
mov edx, ecx
je 0x10082986
movzx ebx, byte [edx]
lea ecx, [edx + 1]
test bl, bl
jns 0x100829e0
cmp bl, 0xe0
jb 0x100829cb
cmp bl, 0xed
jne 0x10082a16
cmp ecx, eax
je 0x10082986
lea ecx, [edx + 2]
cmp ecx, eax
je 0x10082986
cmp byte [edx + 1], 0x9f
ja 0x10082afa
add edx, 3
mov ecx, edx
jmp 0x100829e0
add edx, 2
cmp ecx, eax
cmove edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, edx
cmp bl, 0xf0
jb 0x100829e0
xor edx, edx
cmp ecx, eax
setne dl
add ecx, edx
jmp 0x100829e0
mov dword [esp + 0x38], esi
jmp 0x10082a44
cmp edi, 1
mov ecx, esi
jne 0x10082a7f
mov dword [esp + 0x2c], 0
cmp dword [esp + 0x34], 0
je 0x10082a65
mov eax, dword [0x1035648c]
push dword [esp + 0x38]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x2c], 0
je 0x10082b10
test ebx, ebx
jne 0x10082c7a
jmp 0x10082c48
mov ecx, esi
mov esi, edi
cmp edi, 9
jae 0x10082aae
xor ebx, ebx
nop dword [eax + eax]
movzx eax, byte [ecx]
add eax, 0xffffffd0
cmp eax, 0xa
setb dl
mov dword [esp + 0x2c], edx
jae 0x10082a4c
lea edx, [ebx + ebx*4]
inc ecx
dec esi
lea ebx, [eax + edx*2]
jne 0x10082a90
jmp 0x10082a4c
xor eax, eax
test esi, esi
mov ebx, eax
sete al
mov dword [esp + 0x2c], eax
je 0x10082a4c
mov dword [esp + 0x30], esi
movzx esi, byte [ecx]
mov eax, ebx
mov edx, 0xa
mul edx
seto dl
add esi, 0xffffffd0
cmp esi, 0xa
cmovb edi, esi
jae 0x10082a4c
test dl, dl
jne 0x10082a4c
mov edx, dword [esp + 0x30]
inc ecx
dec edx
add eax, edi
mov edi, esi
mov esi, edx
jae 0x10082ab0
jmp 0x10082a4c
cmp dword [esp + 0x34], 0
je 0x10082b10
mov eax, dword [0x1035648c]
push esi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
push 0x11
push 0x102478cd
lea eax, [esp + 0x148]
push eax
call fcn.10148de0
add esp, 0xc
movzx eax, byte [esp + 0x14c]
cmp al, 2
je 0x10082c48
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
test al, al
mov dword [esp + 0x34], ecx
je 0x10082b8c
test esi, esi
je 0x10082c48
test edi, edi
mov dword [esp + 0x38], esi
je 0x10082c1c
movzx eax, byte [esi]
cmp eax, 0x2d
je 0x10082c11
cmp eax, 0x2b
jne 0x10083a47
dec edi
je 0x10082c1c
lea ecx, [esi + 1]
jmp 0x10083a49
test edi, edi
je 0x10082c0b
mov eax, edi
lea eax, [esi + edi]
mov edx, esi
jmp 0x10082bb6
add edx, 2
cmp ecx, eax
cmovne ecx, edx
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, eax
mov edx, ecx
je 0x10082b54
movzx ebx, byte [edx]
lea ecx, [edx + 1]
test bl, bl
jns 0x10082bb0
cmp bl, 0xe0
jb 0x10082b99
cmp bl, 0xed
jne 0x10082bea
cmp ecx, eax
je 0x10082b54
lea ecx, [edx + 2]
cmp ecx, eax
je 0x10082b54
cmp byte [edx + 1], 0x9f
ja 0x10083ade
add edx, 3
mov ecx, edx
jmp 0x10082bb0
add edx, 2
cmp ecx, eax
cmove edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, edx
cmp bl, 0xf0
jb 0x10082bb0
xor edx, edx
cmp ecx, eax
setne dl
add ecx, edx
jmp 0x10082bb0
mov dword [esp + 0x38], esi
jmp 0x10082c1c
cmp edi, 1
mov ecx, esi
jne 0x10083a49
mov dword [esp + 0x2c], 0
cmp dword [esp + 0x34], 0
je 0x10082c3d
mov eax, dword [0x1035648c]
push dword [esp + 0x38]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
setne al
test byte [esp + 0x2c], al
jne 0x10082c7a
xorps xmm0, xmm0
mov dword [esp + 0x160], 0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
lea eax, [esp + 0x140]
push eax
call sub.KERNEL32.dll_GetSystemInfo
mov ebx, dword [esp + 0x154]
movzx ecx, byte [esp + 0x134]
cmp ebx, 0xff
mov eax, 0xff
mov dword [esp + 0x40], 4
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
cmovb eax, ebx
test eax, eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x30], cl
je 0x10082f52
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x40]
mov edx, esi
call fcn.10085ee0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub eax, edx
cmp eax, esi
jae 0x10082d1c
lea ecx, [esp + 0x4c]
push esi
call fcn.10085f80
add esp, 4
jmp 0x10082d1c
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x2c]
mov dword [eax + edx*8], ebx
mov byte [eax + edx*8 + 4], cl
inc edx
dec esi
mov dword [esp + 0x54], edx
je 0x10082f52
cmp byte [esp + 0x30], 0
je 0x10082d50
lea ecx, [esp + 0x140]
call fcn.10081d70
mov ebx, dword [esp + 0x140]
lock inc dword [ebx]
jg 0x10082e8d
jmp 0x10083afd
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x10082d78
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x10083b19
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x200
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10083b19
mov edi, eax
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x10082db7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x10083b01
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10083b01
mov dword [eax], edi
mov dword [eax + 4], 0x40
mov dword [esp + 0x180], eax
mov eax, dword [0x103564a0]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x10082e2d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x10083b08
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x100
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10083b08
mov ebx, eax
and ebx, 0xffffffc0
mov dword [ebx + 0x3c], eax
add ebx, 0x40
push 0xc0
lea eax, [esp + 0x144]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], 0x40
mov byte [esp + 0x14c], 1
lock inc dword [ebx]
jle 0x10083afd
mov edx, dword [esp + 0x48]
movzx eax, byte [esp + 0x14c]
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
mov dword [esp + 0x90], ebx
cmp edx, dword [esp + 0x44]
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0x148], xmm1
movsd qword [esp + 0x140], xmm0
mov byte [esp + 0x2c], al
mov byte [esp + 0x94], al
jne 0x10082ef4
lea ecx, [esp + 0x40]
call fcn.10085e40
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
mov ecx, edx
inc edx
shl ecx, 4
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov dword [esp + 0x48], edx
movzx eax, byte [esp + 0x2c]
mov dword [esp + 0x80], ebx
mov edx, dword [esp + 0x54]
mov byte [esp + 0x84], al
cmp edx, dword [esp + 0x50]
jne 0x10082d00
lea ecx, [esp + 0x4c]
call fcn.10085da0
mov edx, dword [esp + 0x54]
jmp 0x10082d00
movsd xmm0, qword [esp + 0x50]
movsd xmm1, qword [esp + 0x48]
cmp dword [esp + 0x34], 0
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x148], xmm1
mov eax, dword [esp + 0x148]
movsd qword [esp + 0x140], xmm0
movsd qword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0x154]
movsd xmm0, qword [esp + 0x14c]
mov dword [esp + 0x140], 4
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 4
mov dword [esp + 0x150], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0x154], 0
mov dword [esp + 0xd0], ecx
movsd qword [esp + 0xc8], xmm0
je 0x1008314a
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x140]
mov edx, esi
call fcn.10085ee0
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
sub eax, edx
cmp eax, esi
jae 0x10083039
lea ecx, [esp + 0x14c]
push esi
call fcn.10085f80
add esp, 4
lea edi, [esp + 0x40]
jmp 0x10083062
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esp + 0x2c]
mov dword [eax + edx*8], ebx
mov byte [eax + edx*8 + 4], cl
inc edx
dec esi
mov dword [esp + 0x154], edx
je 0x1008314a
mov ecx, edi
call fcn.10081d70
mov ebx, dword [esp + 0x40]
lock inc dword [ebx]
jle 0x10083afd
mov edx, dword [esp + 0x148]
movzx eax, byte [esp + 0x4c]
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
mov dword [esp + 0x90], ebx
cmp edx, dword [esp + 0x144]
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
mov byte [esp + 0x2c], al
mov byte [esp + 0x94], al
jne 0x100830da
lea ecx, [esp + 0x140]
call fcn.10085e40
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x140]
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
mov ecx, edx
inc edx
shl ecx, 4
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov dword [esp + 0x148], edx
movzx eax, byte [esp + 0x2c]
mov dword [esp + 0x80], ebx
mov edx, dword [esp + 0x154]
mov byte [esp + 0x84], al
cmp edx, dword [esp + 0x150]
jne 0x10083040
lea ecx, [esp + 0x14c]
call fcn.10085da0
mov edx, dword [esp + 0x154]
jmp 0x10083040
movsd xmm0, qword [esp + 0x150]
movsd xmm1, qword [esp + 0x148]
mov edi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esp + 0x140]
movsd qword [esp + 0x48], xmm1
test edi, edi
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebx
mov eax, dword [esp + 0x48]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0xf8], xmm0
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x54]
movsd xmm0, qword [esp + 0x4c]
mov dword [esp + 0x98], eax
lea eax, [ebx + edi*8]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x14c], eax
je 0x10083842
mov dword [esp + 0x2c], eax
xor eax, eax
cmp edi, 0x3333334
setb byte [esp + 0x30]
jae 0x10083b63
movzx ecx, byte [esp + 0x30]
lea esi, [edi*8]
mov al, cl
lea ecx, [esi + esi*4]
shl eax, 2
test ecx, ecx
js 0x10083b63
mov esi, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], ecx
je 0x10083859
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x10083252
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
mov ecx, esi
je 0x10083865
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
mov ecx, dword [esp + 0x30]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, esi
test eax, eax
je 0x10083865
xor esi, esi
mov ecx, eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0x30], eax
nop word cs:[eax + eax]
nop
lea edi, [esp + 0x42]
mov edx, dword [ebx + esi*8]
movzx eax, byte [ebx + esi*8 + 4]
mov dword [edi + 4], 0
mov dword [edi], 0
mov word [edi + 8], 0
mov dword [ecx], 0
mov dword [ecx + 4], 1
mov dword [ecx + 8], 0
mov word [ecx + 0xc], 0
movsd xmm0, qword [esp + 0x40]
movsd qword [ecx + 0xe], xmm0
mov edi, dword [esp + 0x48]
mov dword [ecx + 0x16], edi
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], edx
mov byte [ecx + 0x24], al
lea eax, [ebx + esi*8 + 8]
add ecx, 0x28
inc esi
cmp eax, dword [esp + 0x2c]
jne 0x10083280
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x10083304
mov eax, dword [0x1035648c]
push ebx
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], esi
sub esp, 0x10
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x50]
mov dword [esp + 4], 3
mov dword [esp], ecx
mov dword [esp + 0xc], eax
call fcn.10088090
add esp, 0x10
mov edi, dword [0x103564a0]
mov ebx, dword [0x1035648c]
movzx eax, byte [edi]
mov eax, dword [ebx]
test eax, eax
jne 0x10083363
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x10083b2b
mov dword [ebx], eax
push 0x2f8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10083b2b
mov esi, eax
push 0x2f8
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x100]
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0xf8]
movsd xmm2, qword [esp + 0x40]
mov dword [esp + 0xab], eax
mov eax, dword [esp + 0x88]
movsd qword [esp + 0x230], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0xa3], xmm0
mov dword [esp + 0x238], eax
movsd qword [esp + 0x23c], xmm2
movsd qword [esp + 0x244], xmm1
movsd xmm1, qword [esp + 0x50]
movsd xmm2, qword [esp + 0xa0]
movsd qword [esp + 0x24c], xmm1
movsd qword [esp + 0x21d], xmm2
movsd xmm2, qword [esp + 0x114]
movsd xmm1, qword [esp + 0xa7]
mov dword [esp + 0x114], 0
movhps xmm2, qword [esp + 0x124]
mov dword [esp + 0x124], 0
movsd qword [esp + 0x224], xmm1
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], esi
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], esi
movsd xmm1, qword [esp + 0x12c]
mov dword [esp + 0x12c], 0
movaps xmmword [esp + 0x200], xmm2
movsd qword [esp + 0x210], xmm1
mov dword [esp + 0x218], 0
mov byte [esp + 0x21c], 0
mov dword [esp + 0x22c], 1
mov dword [esp + 0x254], 3
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
movzx eax, byte [edi]
mov eax, dword [ebx]
test eax, eax
jne 0x100834e2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x10083b3c
mov dword [ebx], eax
push 0x180
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x10083b3c
mov esi, eax
and esi, 0xffffffc0
mov dword [esi + 0x3c], eax
add esi, 0x40
push 0x140
lea eax, [esp + 0x144]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x78], esi
mov ebx, eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x90]
shl ebx, 4
test eax, eax
lea ecx, [edx + ebx]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x58], edi
lea eax, [edi + ecx*8]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
je 0x10083887
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x11c]
movsd xmm0, qword [esp + 0x108]
shl ecx, 3
neg ebx
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], ebx
mov ecx, 0x10
xor ebx, ebx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x120]
movaps xmmword [esp + 0x290], xmm0
mov dword [esp + 0xdc], eax
nop dword [eax + eax]
movzx eax, byte [edx + edi*2 + 0xc]
cmp al, 2
je 0x10083877
mov dword [esp + 0x34], ecx
lea ecx, [edx + edi*2]
mov dword [esp + 0x30], ebx
mov ebx, edx
lea esi, [esp + 0x14d]
cmp dword [esp + 0xe4], edi
mov edx, dword [ecx + 8]
mov dword [esp + 0x148], edx
movsd xmm0, qword [ecx]
movsd qword [esp + 0x140], xmm0
movzx edx, byte [ebx + edi*2 + 0xf]
mov byte [esi + 2], dl
movzx edx, word [ebx + edi*2 + 0xd]
mov word [esi], dx
mov byte [esp + 0x14c], al
je 0x1008393b
mov edx, dword [esp + 0x3c]
mov esi, edi
cmp dword [esp + 0xb4], 0
mov dword [esp + 0x38], esi
mov ah, byte [edx + esi + 4]
mov edi, dword [edx + edi]
mov edx, dword [ecx + 8]
mov dword [esp + 0x88], edx
mov byte [esp + 0x9c], ah
movsd xmm0, qword [ecx]
lea ecx, [ebx + esi*2 + 0xd]
lea esi, [esp + 0x8d]
movsd qword [esp + 0x80], xmm0
movzx edx, byte [ecx + 2]
mov byte [esi + 2], dl
movzx ecx, word [ecx]
mov dword [esp + 0x138], edi
mov byte [esp + 0x13c], ah
mov word [esi], cx
mov esi, edi
mov byte [esp + 0x8c], al
je 0x10083720
mov eax, dword [esp + 0xdc]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x30]
push ebx
push dword [esp + 0xb8]
lea ecx, [esp + 0x148]
push ecx
call eax
add esp, 0xc
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe8], edx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
lock inc dword [ecx]
jg 0x10083737
jmp 0x10083afd
mov ebx, dword [esp + 0x30]
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
lock inc dword [ecx]
jle 0x10083afd
movaps xmm0, xmmword [esp + 0x290]
movsd xmm1, qword [esp + 0x88]
lea ecx, [esp + 0xa3]
lea edx, [esp + 0x14d]
movlps qword [esp + 0x140], xmm0
movsd xmm0, qword [esp + 0x80]
movsd qword [ecx + 8], xmm1
mov dword [esp + 0x148], esi
movsd qword [ecx], xmm0
movzx ecx, byte [esp + 0x9c]
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
mov byte [esp + 0x14c], cl
mov ecx, dword [esp + 0xaf]
movsd qword [edx], xmm0
mov dword [edx + 0xf], ecx
mov ecx, dword [esp + 0x78]
movsd qword [edx + 8], xmm1
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ebx
sub esp, 0xc
lea eax, [esp + 0x14c]
lea ecx, [esp + 0xfc]
mov dword [esp + 8], eax
mov dword [esp], ecx
call fcn.10086ba0
add esp, 0xc
cmp byte [esp + 0xf0], 4
jne 0x10083977
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x7c]
add edi, 8
inc ebx
lea eax, [eax + ecx + 0x10]
add ecx, 0x10
cmp eax, 0x10
jne 0x10083600
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xd8]
jmp 0x1008387d
xor esi, esi
mov dword [esp + 0x30], 4
test edx, edx
jne 0x100832f5
jmp 0x10083304
mov ecx, esi
mov eax, esi
test eax, eax
jne 0x10083265
push dword [esp + 0x30]
push ecx
call fcn.1001a7e0
add esp, 8
jmp 0x10083b68
mov eax, dword [esp + 0x3c]
add edx, ecx
add eax, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x48], edx
lea ecx, [esp + 0x40]
call fcn.10084800
mov esi, dword [esp + 0x78]
lea ecx, [esp + 0x108]
call fcn.10084c40
mov eax, dword [esp + 0x74]
cmp dword [0x1038a058], 0
je 0x100838c8
lock dec dword [esi]
mov ebx, 5
jne 0x100838d3
mov ecx, esi
call fcn.10085bf0
mov eax, dword [esp + 0x74]
jmp 0x100838d3
mov dword [0x1038a058], esi
mov ebx, 5
mov esi, 0x1038a058
cmp byte [eax], 3
jne 0x1008392e
mov edi, dword [eax + 4]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], esi
mov ebx, dword [edi + 4]
mov esi, dword [edi]
mov eax, dword [ebx]
push esi
call eax
add esp, 4
cmp dword [ebx + 4], 0
je 0x10083913
cmp dword [ebx + 8], 9
jb 0x10083904
mov esi, dword [esi - 4]
mov eax, dword [0x1035648c]
push esi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
push edi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [eax], ebx
mov dword [eax + 4], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x30]
add ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x58], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x48], ebx
lock dec dword [ecx]
jne 0x1008388b
lea ecx, [esp + 0x140]
call fcn.10085a80
jmp 0x1008388b
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x3c]
inc ebx
mov esi, dword [esp + 0xf0]
add edx, dword [esp + 0x34]
lea eax, [eax + edi + 8]
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x30], edx
lea ecx, [esp + 0x40]
call fcn.10084800
mov eax, dword [esp + 0x2c]
lock dec dword [eax + 0xec]
jne 0x10083a13
mov ecx, eax
mov eax, dword [eax + 0xf8]
test eax, eax
je 0x10083a13
mov edi, dword [ecx + 0xf0]
shl eax, 3
add ecx, 0xfc
xor esi, esi
lea ebx, [eax + eax*4]
mov dword [esp + 0x2c], ecx
add edi, 4
jmp 0x100839f9
add edi, 0x28
inc esi
add ebx, 0xffffffd8
je 0x10083a13
lock dec dword [edi]
jne 0x100839f0
mov eax, 3
xchg dword [edi - 4], eax
mov ecx, dword [esp + 0x2c]
mov edx, esi
call fcn.10088450
jmp 0x100839f0
mov ecx, dword [esp + 0x78]
lock dec dword [ecx]
jne 0x10083a21
call fcn.10085bf0
lea ecx, [esp + 0x108]
call fcn.10084c40
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x30]
cmp bl, 5
je 0x100838a8
jmp 0x100838d8
mov ecx, esi
mov esi, edi
cmp edi, 9
jae 0x10083a85
xor ebx, ebx
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [ecx]
add eax, 0xffffffd0
cmp eax, 0xa
setb dl
mov dword [esp + 0x2c], edx
jae 0x10082c24
lea edx, [ebx + ebx*4]
inc ecx
dec esi
lea ebx, [eax + edx*2]
jne 0x10083a60
jmp 0x10082c24
xor eax, eax
nop word [eax + eax]
test esi, esi
mov ebx, eax
sete al
mov dword [esp + 0x2c], eax
je 0x10082c24
mov dword [esp + 0x30], esi
movzx esi, byte [ecx]
mov eax, ebx
mov edx, 0xa
mul edx
seto dl
add esi, 0xffffffd0
cmp esi, 0xa
cmovb edi, esi
jae 0x10082c24
test dl, dl
jne 0x10082c24
mov edx, dword [esp + 0x30]
inc ecx
dec edx
add eax, edi
mov edi, esi
mov esi, edx
jae 0x10083a90
jmp 0x10082c24
cmp dword [esp + 0x34], 0
je 0x10082c48
mov eax, dword [0x1035648c]
push esi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x10082c48
ud2
mov eax, 8
jmp 0x10083b1e
push 0xc0
push 0x40
call fcn.1001a7e0
add esp, 8
jmp 0x10083b68
mov eax, 0x200
push eax
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x10083b68
push 0x2f8
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x10083b68
push 0x140
push 0x40
call fcn.1001a7e0
add esp, 8
jmp 0x10083b68
push 0x10247388
push 0x2b
push str.called__Option::unwrap____on_a__None__value_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_crossbeam_deque_0.8.2_src_deque.rs_p_
call fcn.10026890
add esp, 0xc
ud2
call fcn.1001a7a0
ud2