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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [ebp + 8]
call 0x488038
pop ebx
mov eax, dword [eax]
mov edi, dword [eax]
and dword [eax], 0
test edi, edi
je 0x48813f
lea edx, [ebp - 0x4c]
lea esi, [ebp - 0x14]
and dword [edx + 8], 0
and word [edx + 0x2c], 0
and dword [edx + 0xc], 0
and dword [edx + 0x14], 0
and dword [edx], 0
and dword [edx + 0x1c], 0
and dword [edx + 0x24], 0
mov ecx, esi
call fcn.00488164
movzx eax, byte [esi]
cmp eax, 6
je 0x4880f7
mov ecx, eax
and cl, 6
cmp cl, 4
je 0x4880f7
add ebx, dword [eax*4 + 0x488154]
jmp ebx
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
cmp bl, 6
jne 0x488126
cmp dword [0x7060a8], 0
mov dword [ebp - 0x4c], esi
je 0x488118
lea ecx, [ebp - 0x4c]
call fcn.00486a64
jmp 0x48811e
mov dword [0x7060a8], esi
push 6
pop ebx
mov esi, 0x7060a8
cmp byte [edi], 6
je 0x488132
push edi
call fcn.00486511
pop eax
mov dword [edi], ebx
mov dword [edi + 4], esi
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x69b0e0
call fcn.0043a9e0
nop dword [eax]
pop esp
add byte [eax], al
add byte [eax + eax], ah
add byte [eax + eax], dl
add byte [eax + eax], dl
add byte [ebp - 0x77], dl
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffc0
sub esp, 0x280
mov esi, dword [edx + 8]
mov ebx, edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x44], edx
test esi, esi
jne 0x4882aa
lea esi, [esp + 0x180]
mov edx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
mov ecx, esi
push 0x11
call fcn.00541e70
pop eax
lea edi, [esp + 0x100]
mov edx, esi
mov ecx, edi
call fcn.00488f71
mov edi, dword [edi]
cmp edi, 0x80000000
je 0x4881f7
mov ebx, dword [esp + 0x104]
lea esi, [esp + 0x180]
mov ecx, esi
mov edx, ebx
push dword [esp + 0x108]
call fcn.00443ba0
pop eax
mov al, byte [esi]
mov edx, ebx
mov esi, dword [esi + 4]
mov ebx, dword [esp + 0x44]
mov ecx, edi
mov byte [esp + 0x34], al
call fcn.00563c9c
cmp byte [esp + 0x34], 0
je 0x488263
lea esi, [esp + 0x180]
mov edx, 0x6449a5
mov ecx, esi
push 0x11
call fcn.00541e70
pop eax
lea edi, [esp + 0x100]
mov edx, esi
mov ecx, edi
call fcn.00488f71
mov edi, dword [edi]
cmp edi, 0x80000000
je 0x488267
mov ebx, dword [esp + 0x104]
lea esi, [esp + 0x180]
mov ecx, esi
mov edx, ebx
push dword [esp + 0x108]
call fcn.00443ba0
pop eax
mov al, byte [esi]
mov edx, ebx
mov esi, dword [esi + 4]
mov ebx, dword [esp + 0x44]
mov ecx, edi
mov byte [esp + 0x34], al
call fcn.00563c9c
cmp byte [esp + 0x34], 0
jne 0x488267
test esi, esi
jne 0x4882aa
and dword [esp + 0x1a0], 0
xorps xmm0, xmm0
lea eax, [esp + 0x180]
movaps xmmword [esp + 0x190], xmm0
movaps xmmword [esp + 0x180], xmm0
push eax
call sub.KERNEL32.DLL_GetSystemInfo
mov esi, dword [esp + 0x194]
test esi, esi
jne 0x4882aa
push 2
pop ecx
mov edx, 0x69defc
call fcn.0048655f
xor esi, esi
inc esi
mov edi, 0xff
mov al, byte [ebx + 0x2d]
cmp esi, edi
cmovb edi, esi
lea esi, [esp + 0x10c]
and dword [esi - 0xc], 0
mov byte [esp + 0x34], al
push 4
pop eax
mov dword [esi - 8], eax
and dword [esi - 4], 0
and dword [esi], 0
mov dword [esi + 4], eax
and dword [esi + 8], 0
test edi, edi
mov dword [esp + 0x48], eax
je 0x4882f9
lea ecx, [esp + 0x100]
mov edx, edi
call fcn.00486612
mov ecx, esi
mov edx, edi
call fcn.00486634
push 0x40
pop eax
mov ebx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
sub ebx, 1
jb 0x4883cc
cmp byte [esp + 0x34], 0
je 0x488325
lea ecx, [esp + 0x60]
call fcn.0048676b
mov eax, dword [esp + 0x60]
jmp 0x488377
push 0x40
pop ecx
call fcn.00486852
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.00486896
mov dword [esp + 0x180], eax
and dword [esp + 0x1c0], 0
and dword [esp + 0x1c4], 0
lea ecx, [esp + 0x180]
call fcn.004868b3
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x3c]
lea esi, [esp + 0x10c]
mov byte [esp + 0x6c], 1
lock inc dword [eax]
jle 0x488eb1
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
mov cl, byte [esp + 0x6c]
mov edx, esi
movsd qword [esp + 0x180], xmm0
movsd qword [esp + 0x188], xmm1
mov dword [esp + 0x190], eax
lea eax, [esp + 0x180]
mov byte [esp + 0x194], cl
lea ecx, [esp + 0x100]
push eax
call fcn.004867b4
pop eax
jmp 0x488306
lea esi, [esp + 0x10c]
mov ebx, edi
mov eax, dword [esi - 0xc]
mov edi, dword [esi + 4]
mov dword [esp + 0xb8], eax
mov eax, dword [esi - 8]
mov dword [esp + 0xbc], eax
mov eax, dword [esi - 4]
mov dword [esp + 0x58], eax
mov eax, dword [esi]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
and dword [esi - 0xc], 0
mov dword [esp + 0x38], eax
push 4
pop eax
mov dword [esi - 8], eax
and dword [esi - 4], 0
and dword [esi], 0
mov dword [esi + 4], eax
and dword [esi + 8], 0
test ebx, ebx
je 0x488433
lea ecx, [esp + 0x100]
mov edx, ebx
call fcn.00486612
mov ecx, esi
mov edx, ebx
call fcn.00486634
lea esi, [esp + 0x100]
sub ebx, 1
jb 0x48849e
lea ecx, [esp + 0x60]
call fcn.0048676b
mov eax, dword [esp + 0x60]
lock inc dword [eax]
jle 0x488eb1
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
mov cl, byte [esp + 0x6c]
lea edx, [esp + 0x10c]
movsd qword [esp + 0x180], xmm0
movsd qword [esp + 0x188], xmm1
mov dword [esp + 0x190], eax
lea eax, [esp + 0x180]
mov byte [esp + 0x194], cl
mov ecx, esi
push eax
call fcn.004867b4
pop eax
jmp 0x48843a
mov eax, dword [esp + 0x108]
movsd xmm0, qword [esp + 0x100]
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x110]
movsd qword [esp + 0xe0], xmm0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x488513
cmp eax, 0x38e38e3
ja 0x488ecc
imul esi, eax, 0x24
test esi, esi
js 0x488ecc
push 4
pop ecx
mov edx, esi
call fcn.00425bef
mov dword [esp + 0x48], eax
test eax, eax
mov eax, dword [esp + 0x38]
je 0x488ed1
mov ecx, dword [esp + 0x48]
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x180], edi
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x34], 0
mov dword [esp + 0x184], eax
lea eax, [esp + 0x102]
add ecx, 0x20
mov dword [esp + 0x188], edi
mov dword [esp + 0x18c], edx
cmp edi, edx
je 0x4885b7
lea edx, [edi + 8]
inc dword [esp + 0x34]
mov dword [esp + 0x188], edx
mov edx, dword [edi]
mov bl, byte [edi + 4]
and dword [eax + 4], 0
and dword [eax], 0
and word [eax + 8], 0
and dword [ecx - 0x20], 0
and word [ecx - 0x1c], 0
movsd xmm0, qword [esp + 0x100]
movsd qword [ecx - 0x1a], xmm0
mov esi, dword [esp + 0x108]
mov dword [ecx - 0x12], esi
and dword [ecx - 0xc], 0
and dword [ecx - 8], 0
mov dword [ecx - 4], edx
mov byte [ecx], bl
add ecx, 0x24
mov edi, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
jmp 0x488553
lea ecx, [esp + 0x180]
call fcn.00486900
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x4885e6
mov esi, edi
shl esi, 6
push 0x40
pop ecx
mov edx, esi
call fcn.00425bef
test eax, eax
mov dword [esp + 0x40], eax
je 0x488ed5
mov eax, dword [esp + 0x40]
xor ebx, ebx
add eax, 8
cmp edi, ebx
je 0x488605
and dword [eax - 8], 0
and word [eax - 4], 0
and dword [eax], 0
inc ebx
add eax, 0x40
jmp 0x4885ef
lea esi, [esp + 0x100]
mov ecx, esi
call fcn.004869a0
mov eax, dword [esp + 0xe8]
lea edi, [esp + 0x1b8]
movsd xmm0, qword [esp + 0xe0]
mov dword [edi - 0x2d], eax
mov eax, dword [esp + 0x44]
movsd qword [edi - 0x35], xmm0
movsd xmm0, qword [edi - 0x31]
mov ecx, dword [eax + 0xc]
movsd qword [esp + 0x67], xmm0
movsd xmm0, qword [edi - 0x38]
mov dword [esp + 0xb0], ecx
mov ecx, dword [eax + 0x10]
and dword [eax + 0xc], 0
movsd qword [esp + 0x60], xmm0
mov dword [esp + 0xac], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 0x20]
and dword [eax + 0x1c], 0
mov dword [esp + 0xc8], ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0xc4], ecx
mov ecx, dword [eax + 0x28]
and dword [eax + 0x24], 0
mov dword [esp + 0xc0], ecx
push 0x20
pop ecx
rep movsd dword es:[edi], dword [esi]
push 0x40
pop edx
mov ecx, 0x140
call fcn.0047a4d8
xor edi, edi
mov esi, eax
inc edi
mov dword [eax], edi
mov dword [eax + 4], edi
add eax, 8
push 0xb8
lea ecx, [esp + 0x184]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xbc]
mov dword [esi + 0xc0], eax
mov eax, dword [esp + 0xac]
shl ecx, 4
add ecx, edx
mov dword [esp + 0x58], ecx
mov dword [esi + 0xc4], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0xc8], eax
mov eax, dword [esp + 0xc8]
mov dword [esi + 0xcc], eax
mov eax, dword [esp + 0xc4]
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0xc0]
mov dword [esi + 0xd4], eax
and dword [esi + 0xd8], 0
mov byte [esi + 0xdc], 0
mov eax, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x67]
movsd qword [esi + 0xdd], xmm0
movsd qword [esi + 0xe4], xmm1
mov dword [esi + 0xec], edi
mov dword [esi + 0xf0], eax
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x50]
mov dword [esi + 0xf4], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0xf8], ebx
and dword [esi + 0xfc], 0
mov ebx, dword [esp + 0x44]
mov dword [esi + 0x100], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 0x104], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x108], eax
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0xb8]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x70], edi
mov esi, dword [ebx + 4]
lea eax, [edi + eax*8]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edi
mov edi, dword [ebx]
mov cl, byte [ebx + 0x2c]
mov dword [esp + 0x7c], eax
and dword [esp + 0x84], 0
and dword [esp + 0x80], 0
and dword [esp + 0x8c], 0
and dword [esp + 0x88], 0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edi
mov byte [esp + 0xac], cl
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x48], ecx
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x18]
xor ebx, ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x48]
cmp edx, dword [esp + 0x58]
mov esi, ebx
mov dword [esp + 0x34], ebx
lea esi, [ecx + ebx]
je 0x488d4f
mov bl, byte [edx + 0xc]
lea eax, [edx + 0x10]
cmp bl, 2
je 0x488d4f
mov dword [esp + 0x40], eax
movsd xmm0, qword [edx]
mov eax, dword [edx + 8]
cmp edi, dword [esp + 0xb8]
mov dword [esp + 0x188], eax
movsd qword [esp + 0x180], xmm0
mov byte [esp + 0x18c], bl
mov al, byte [edx + 0xf]
movzx ecx, word [edx + 0xd]
lea edx, [esp + 0x1b8]
mov word [edx - 0x2b], cx
mov byte [edx - 0x29], al
je 0x488d64
mov ecx, edx
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], esi
movsd xmm0, qword [esp + 0x180]
mov esi, dword [eax + edx*8]
mov bh, byte [eax + edx*8 + 4]
mov eax, dword [esp + 0x188]
movsd qword [esp + 0xf0], xmm0
mov dword [esp + 0xf8], eax
movzx eax, word [ecx - 0x2b]
mov dword [esp + 0xbc], esi
mov word [esp + 0x54], ax
mov al, byte [ecx - 0x29]
mov byte [esp + 0x56], al
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x488936
mov esi, dword [esp + 0x38]
push esi
push eax
lea eax, [esp + 0x188]
push eax
mov eax, dword [esp + 0xb4]
call dword [eax + 0x10]
add esp, 0xc
jmp 0x488945
mov esi, dword [esp + 0x38]
mov dword [esp + 0x180], 0x80000000
mov edx, dword [esp + 0x3c]
add edi, 8
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], edi
lock inc dword [edx]
lea edi, [eax + ecx + 1]
jle 0x488eb3
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x100]
movsd xmm0, qword [esp + 0x180]
test esi, esi
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x50]
movsd qword [ecx + 8], xmm0
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xf8]
movsd qword [ecx + 0x1c], xmm0
mov dword [ecx + 0x24], eax
mov byte [esp + 0x128], bl
movzx eax, word [esp + 0x54]
mov bl, byte [esp + 0x56]
mov word [ecx + 0x29], ax
mov byte [ecx + 0x2b], bl
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x114], ecx
mov byte [esp + 0x118], bh
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], esi
jne 0x488a82
cmp byte [esp + 0xac], 0
je 0x488a82
call fcn.00488f1e
test eax, eax
jne 0x488da6
lea edi, [esp + 0x180]
lea edx, [esp + 0x100]
mov ecx, edi
call fcn.004871e7
mov ecx, 0xc0
push 0x40
pop edx
call fcn.0047a4d8
mov esi, eax
push 0xc0
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, esi
call fcn.004874a7
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 0x108]
mov ecx, dword [eax + 0x104]
push 0x644814
push 0
call fcn.004874df
pop ecx
pop edx
mov ecx, eax
call fcn.004874fc
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x38]
inc ebx
mov edx, eax
jmp 0x488855
lea edx, [esp + 0x100]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x10c]
movsd xmm1, qword [edx + 0x1c]
movsd xmm0, qword [edx + 0x14]
movsd xmm2, qword [edx + 0x24]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x110]
mov dword [esp + 0x48], ebx
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [edx + 0x2c]
movsd qword [esp + 0x180], xmm0
movsd qword [esp + 0x190], xmm2
cmp ecx, 0x80000000
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
movsd qword [esp + 0x198], xmm1
jne 0x488b0d
mov dword [esp + 0x34], 0x80000000
xor edi, edi
jmp 0x488b27
mov ecx, edi
xor edx, edx
call fcn.00487eba
mov esi, edx
mov dword [esp + 0x34], eax
push edi
push ebx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x50], 0
mov ebx, dword [esp + 0x4c]
jne 0x488b39
call fcn.0054fcd0
mov ebx, eax
xor ecx, ecx
cmp dword [esp + 0x34], 0x80000000
je 0x488b9e
cmp edi, 7
ja 0x488b5b
xor eax, eax
xor edx, edx
cmp edi, edx
je 0x488b68
cmp byte [esi + edx], 0
je 0x488b6c
inc edx
jmp 0x488b4e
mov edx, esi
xor ecx, ecx
push edi
call fcn.004423f0
pop ecx
jmp 0x488b6f
mov edx, edi
jmp 0x488b6f
xor eax, eax
inc eax
test eax, eax
jne 0x488edf
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
call fcn.00434500
mov ecx, eax
mov dword [esp + 0x34], ebx
call fcn.0051e870
mov dword [esp + 0xcc], eax
lock inc dword [eax]
jle 0x488eb1
mov dword [esp + 0x38], eax
push 0x18
pop ecx
push 4
pop edx
call fcn.0047a4d8
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
and dword [ebx + 8], 0
and dword [ebx + 0xc], 0
mov dword [esp + 0xd0], ebx
lock inc dword [ebx]
jle 0x488eb1
xor ecx, ecx
call fcn.00547380
mov esi, eax
test eax, eax
je 0x488c02
lock inc dword [esi]
jle 0x488eb1
mov ecx, esi
jmp 0x488c04
xor ecx, ecx
call fcn.00547380
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], eax
call fcn.00404b70
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x488c2b
add ecx, 8
call fcn.00521270
push 0x40
pop ecx
push 4
pop edx
call fcn.0047a4d8
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x1c], ecx
lea ecx, [esp + 0x94]
movsd xmm0, qword [esp + 0x180]
movsd xmm1, qword [esp + 0x188]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x28], xmm1
movsd xmm0, qword [esp + 0x190]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x198]
movsd qword [eax + 0x38], xmm0
push 0x644734
push eax
call fcn.0054feb0
pop eax
pop ecx
movzx esi, byte [esp + 0x94]
cmp esi, 4
jne 0x488cfe
mov eax, dword [esp + 0x98]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], eax
push eax
call sub.KERNEL32.DLL_CloseHandle
lea ecx, [esp + 0xd4]
call fcn.00405310
lea ecx, [esp + 0xd8]
call fcn.00487c98
jmp 0x488d3a
mov eax, dword [esp + 0x98]
movzx ebx, byte [esp + 0x97]
movzx edi, word [esp + 0x95]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x34], eax
call fcn.00487c98
lea ecx, [esp + 0xcc]
call fcn.00405310
cmp esi, 4
jne 0x488e8a
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x58], eax
jmp 0x488812
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x8c], esi
jmp 0x488d87
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x180]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x8c], esi
call fcn.0048693f
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x60]
call fcn.00488f45
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 4], eax
mov byte [ecx], 6
jmp 0x488e3e
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
and dword [ecx + 4], 0
mov dword [ecx], 5
lea ecx, [esp + 0x100]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], edi
call fcn.00486a37
lea ecx, [esp + 0x60]
call fcn.00488f45
mov ecx, dword [esp + 0x3c]
lock dec dword [ecx + 0xec]
jne 0x488e31
mov edi, dword [ecx + 0x104]
imul ebx, dword [ecx + 0x108], 0x24
add ecx, 0xf0
xor esi, esi
push 3
pop edx
mov dword [esp + 0x3c], ecx
test ebx, ebx
je 0x488e31
mov eax, edx
xchg dword [edi + 0x18], eax
cmp eax, 2
jne 0x488e28
mov edx, esi
call fcn.00487bf9
push 3
pop edx
mov ecx, dword [esp + 0x3c]
add edi, 0x24
add ebx, 0xffffffdc
inc esi
jmp 0x488e0c
lea ecx, [esp + 0x5c]
call fcn.00486a64
mov ebx, dword [esp + 0x44]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
call fcn.004049f6
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x488e6c
mov edi, dword [ebx + 0x18]
push esi
call dword [edi]
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x488e6c
mov edx, dword [edi + 8]
mov ecx, esi
push eax
call fcn.00408833
pop eax
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
call fcn.004049f6
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
call fcn.004049f6
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x34]
shl edi, 8
shl ebx, 0x18
or ebx, edi
or ebx, esi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax], ebx
mov dword [esp + 0x3c], ecx
jmp 0x488dda
ud2
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x8c], edi
ud2
call fcn.004341f0
push 4
jmp 0x488ed7
push 0x40
pop ecx
mov edx, esi
call fcn.00434230
mov eax, dword [esp + 0x34]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edx
push 0x2f
pop edx
mov ecx, str.thread_name_may_not_contain_interior_null_bytes
push 0x644724
push 0x644764
lea eax, [esp + 0x9c]
push eax
call fcn.0043f6f0