Function at 0x4e9621
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, 0x270
mov ebx, edx
mov dword [esp + 0x64], ecx
mov ch, byte [edx + 0x70]
test ch, ch
je 0x4e9652
cmp dword [ebx], 0
je 0x4e97fe
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], eax
jmp 0x4e98f5
movzx eax, word [ebx + 0x71]
mov cl, byte [ebx + 0x73]
mov esi, dword [ebx + 0x60]
lea edx, [esp + 0x2c]
mov word [edx + 4], ax
mov byte [edx + 6], 1
mov byte [edx + 7], cl
mov dword [edx], esi
lea esi, [esp + 0x1d0]
mov ecx, esi
call fcn.004ea8db
mov eax, dword [esi]
cmp eax, 2
je 0x4e992a
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1dc]
mov ecx, dword [eax - 8]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x20], ecx
lea esi, [esp + 0xc0]
push 0x8c
push eax
push esi
call fcn.004f7e80
add esp, 0xc
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [esi + 0x10]
mov dword [esp + 0xa0], eax
lea esi, [esp + 0xd4]
push 0x1e
pop ecx
lea edi, [esp + 0x150]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x64]
mov ecx, ebx
call fcn.004e30c6
lock inc dword [eax]
jle 0x4ea71f
mov dword [esp + 0xac], edx
mov dword [esp + 0x1c], eax
lea esi, [ebx + 0x50]
mov ecx, esi
call fcn.004e35a8
mov dword [esp + 0x58], eax
mov dword [esp + 0x24], edx
mov ecx, esi
call fcn.004e35a8
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], edx
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
call fcn.0049136e
mov dword [esp + 0x18], eax
mov dword [esp + 0x80], edx
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
call fcn.0049136e
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
mov ecx, dword [ebx + 0x10]
mov al, byte [ebx + 0x74]
mov byte [esp + 0x60], al
mov al, byte [ebx + 0x75]
mov byte [esp + 0x54], al
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x68]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
test ecx, ecx
push 0x1f
pop eax
mov dword [esp + 0xb0], edx
cmovne eax, edx
mov dword [esp + 0xa8], eax
push 4
pop esi
push 0x30
pop edx
mov ecx, esi
call fcn.00404a80
test eax, eax
je 0x4ea7cc
lea edi, [esp + 0x1d0]
mov dword [edi], eax
mov dword [edi + 4], 4
xor ebx, ebx
mov dword [esp + 0x1d8], ebx
mov edx, dword [esp + 0x1d4]
sub esi, 1
jb 0x4e988d
cmp ebx, edx
jne 0x4e97e3
mov ecx, edi
mov edx, ebx
call fcn.004e42cf
mov eax, dword [esp + 0x1d0]
mov ebx, dword [esp + 0x1d8]
imul ecx, ebx, 0xc
mov byte [eax + ecx], 0
and dword [eax + ecx + 4], 0
and dword [eax + ecx + 8], 0
mov ebx, dword [esp + 0x1d8]
inc ebx
jmp 0x4e97b1
mov byte [esp + 0xc], ch
lea esi, [esp + 0x90]
mov ecx, esi
mov edx, str.TOKIO_WORKER_THREADSmain.rs_srcloom_stdmod.rs__cannot_be_set_to_0
push 0x14
call fcn.004cd8b0
pop eax
movzx eax, byte [esi + 0xc]
cmp eax, 2
je 0x4e98c9
cmp eax, 3
jne 0x4ea7e4
mov eax, dword [esp + 0x98]
mov dword [esp + 0x158], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x150], xmm0
mov esi, dword [esp + 0x150]
lea edi, [esp + 0x2c]
mov ecx, edi
mov edx, esi
push eax
call fcn.00429240
pop eax
cmp byte [edi], 0
jne 0x4ea83b
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
test eax, eax
je 0x4ea89b
mov edx, dword [esp + 0x154]
mov ecx, esi
call fcn.0043e571
jmp 0x4e98f1
mov ecx, dword [esp + 0x1d0]
cmp edx, ebx
jbe 0x4e9e07
imul eax, edx, 0xc
test ebx, ebx
je 0x4ea4b0
imul esi, ebx, 0xc
mov dword [esp + 0xc], ecx
mov edx, eax
push esi
call fcn.004e3ac2
pop ecx
mov edi, eax
test eax, eax
jne 0x4ea4bc
push 4
pop ecx
jmp 0x4ea4c5
xorps xmm0, xmm0
lea esi, [esp + 0x1d0]
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi], xmm0
and dword [esi + 0x20], 0
push esi
call sub.kernel32.dll_GetSystemInfo
mov eax, dword [esi + 0x14]
cmp eax, 1
adc eax, 0
mov dword [esp + 0x18], eax
mov ch, byte [esp + 0xc]
movzx eax, word [ebx + 0x71]
mov cl, byte [ebx + 0x73]
mov esi, dword [ebx + 0x60]
lea edx, [esp + 0x150]
mov word [edx + 4], ax
xor ch, 1
mov byte [edx + 6], ch
mov byte [edx + 7], cl
mov dword [edx], esi
lea esi, [esp + 0x1d0]
mov ecx, esi
call fcn.004ea8db
mov eax, dword [esi]
cmp eax, 2
jne 0x4e994d
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x64]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov dword [edx], 2
jmp 0x4ea717
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1dc]
mov ecx, dword [eax - 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x10], ecx
lea esi, [esp + 0xc0]
push 0x8c
push eax
push esi
call fcn.004f7e80
add esp, 0xc
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [esi + 0x10]
mov dword [esp + 0xa0], eax
lea esi, [esp + 0xd4]
push 0x1e
pop ecx
lea edi, [esp + 0x1d0]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x64]
add edx, dword [esp + 0x18]
mov ecx, ebx
call fcn.004e30c6
mov dword [esp + 0x78], edx
mov dword [esp + 0x60], eax
lock inc dword [eax]
jle 0x4ea71f
lea esi, [ebx + 0x50]
mov ecx, esi
call fcn.004e35a8
and dword [esp + 0x170], 0
xor ecx, ecx
mov byte [esp + 0x174], cl
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], edx
mov ecx, esi
call fcn.004e35a8
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], edx
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
call fcn.0049136e
mov esi, eax
mov edi, edx
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x4c]
call fcn.0049136e
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x150], ecx
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x154], ecx
mov ecx, dword [ebx + 0x68]
mov dword [esp + 0x158], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], esi
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], edx
movzx eax, word [ebx + 0x74]
mov word [esp + 0x180], ax
push 0x2c
pop ecx
push 4
pop edx
call fcn.004490a3
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
movaps xmm0, xmmword [esp + 0x90]
movups xmmword [eax + 0x14], xmm0
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x24], ecx
xor edx, edx
mov byte [eax + 0x28], dl
lea ecx, [esp + 0xc0]
and dword [ecx + 4], 0
mov byte [ecx + 0xc], dl
and dword [ecx + 8], 0
mov dword [ecx], eax
call fcn.004e7bab
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4e9b3f
cmp ebx, 0x1fffffff
ja 0x4ea7a6
lea esi, [ebx*4]
test esi, esi
js 0x4ea7a6
push 4
pop ecx
mov edx, esi
call fcn.00404a80
test eax, eax
je 0x4ea7ad
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
and dword [esp + 0x50], 0
cmp ebx, 0xfffffff
ja 0x4ea7a6
lea esi, [ebx*8]
test esi, esi
js 0x4ea7a6
push 4
pop ecx
mov edx, esi
call fcn.00404a80
test eax, eax
jne 0x4e9b53
jmp 0x4ea7ad
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], ebx
and dword [esp + 0x50], 0
push 4
pop eax
lea ecx, [esp + 0x38]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
and dword [ecx + 8], 0
xor ecx, ecx
lea edi, [esp + 0x2c]
xor edx, edx
mov dword [esp + 0xc], ecx
cmp edx, ebx
je 0x4e9d8e
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
push 4
pop ecx
mov edx, 0x400
call fcn.00404a80
test eax, eax
je 0x4ea723
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x100
xor ebx, ebx
mov esi, 0x100
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x30]
sub esi, 1
jb 0x4e9bc5
cmp ebx, eax
jne 0x4e9bc2
mov ecx, edi
mov edx, ebx
call fcn.004e41b0
mov ebx, dword [esp + 0x34]
inc ebx
jmp 0x4e9ba4
mov esi, dword [esp + 0x2c]
cmp eax, ebx
jbe 0x4e9c0d
shl eax, 2
test ebx, ebx
je 0x4e9bef
lea edi, [ebx*4]
mov ecx, esi
mov edx, eax
push edi
call fcn.004e3ac2
pop ecx
push 4
pop ecx
test eax, eax
jne 0x4e9bff
jmp 0x4e9c06
mov ecx, esi
push 4
pop esi
mov edx, esi
push eax
call fcn.00404f8c
pop eax
mov eax, esi
mov ecx, 0x80000001
mov esi, eax
mov edx, edi
call fcn.00404ae3
mov dword [esp + 0x70], ebx
cmp ebx, 0x100
jne 0x4ea732
push 0x18
pop ecx
push 8
pop edx
call fcn.004490a3
movaps xmm0, xmmword [0x50ca40]
movups xmmword [eax], xmm0
and dword [eax + 0x10], 0
mov dword [eax + 0x14], esi
lock inc dword [eax]
jle 0x4ea71f
mov edi, eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 8]
lock inc dword [eax]
jle 0x4ea71f
and dword [esp + 0xc4], 0
mov byte [esp + 0xcc], 0
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], eax
lea ecx, [esp + 0xc0]
call fcn.004e7bab
lock inc dword [eax]
jle 0x4ea71f
mov esi, eax
call fcn.004c8910
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x150], 0
push 0x3d
pop eax
je 0x4e9cb2
mov eax, dword [esp + 0x154]
mov dword [esp + 0x28], eax
mov bl, byte [esp + 0x180]
lea ecx, [esp + 0x170]
call fcn.004e35a8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
xor bl, 1
push 0x40
pop ecx
push 8
pop edx
call fcn.00404a5f
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0x40a99d60
mov dword [eax + 0x10], 0x864b8a7e
and dword [eax + 0x18], 0
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x28], edi
and dword [eax + 0x2c], 0
and dword [eax + 0x30], 0
mov dword [eax + 0x34], esi
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x38], ecx
mov byte [eax + 0x3c], bl
and word [eax + 0x3d], 0
mov byte [eax + 0x3f], 0
lea ecx, [esp + 0x48]
mov edx, eax
call fcn.004e1935
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0x3c]
jne 0x4e9d60
lea ecx, [esp + 0x38]
call fcn.004e4243
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
jmp 0x4e9d68
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [eax + edx*8], edi
mov dword [eax + edx*8 + 4], esi
mov ecx, dword [esp + 0x40]
inc ecx
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x14]
inc edx
lea edi, [esp + 0x2c]
jne 0x4e9b68
call fcn.004e423c
ud2
test ebx, ebx
je 0x4e9dc4
cmp ebx, 0x1fffffff
ja 0x4ea7a6
lea esi, [ebx*4]
test esi, esi
js 0x4ea7a6
push 4
pop ecx
mov edx, esi
call fcn.00404a80
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4e9dcb
jmp 0x4ea7ad
push 4
pop eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
cmp eax, edx
jbe 0x4e9e01
shl eax, 3
test edx, edx
je 0x4e9e10
lea esi, [edx*8]
mov dword [esp + 0x10], ecx
mov edx, eax
push esi
call fcn.004e3ac2
pop ecx
mov edi, eax
test eax, eax
jne 0x4e9e1c
push 4
pop ecx
jmp 0x4e9e25
mov dword [esp + 0x10], ecx
jmp 0x4e9e2c
mov dword [esp + 0xc], ecx
jmp 0x4ea4cc
push 4
pop edi
mov edx, edi
push eax
call fcn.00404f8c
pop eax
mov ecx, 0x80000001
mov dword [esp + 0x10], edi
mov edx, esi
call fcn.00404ae3
lea eax, [ebx - 1]
bsr ecx, eax
not ecx
xor eax, eax
dec eax
shr eax, cl
lea eax, [eax*4 + 4]
mov edi, 0x10000
cmp eax, edi
cmovb edi, eax
cmp ebx, 2
push 4
pop eax
cmovb edi, eax
popcnt ecx, edi
cmp ecx, 1
jne 0x4ea7b7
test edi, edi
je 0x4e9e79
imul esi, edi, 0xc
push 4
pop ecx
mov edx, esi
call fcn.00404a80
test eax, eax
je 0x4ea7ad
mov ecx, ebx
shl ecx, 0x10
mov dword [esp + 0x1c], ecx
lea esi, [esp + 0xc0]
mov dword [esi], eax
mov dword [esi + 4], edi
xor edx, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc8], edx
sub edi, 1
jb 0x4e9ed9
cmp edx, dword [esp + 0xc4]
jne 0x4e9ebe
mov ecx, esi
call fcn.004e42cf
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc8]
imul ecx, edx, 0xc
mov byte [eax + ecx], 0
and dword [eax + ecx + 4], 0
and dword [eax + ecx + 8], 0
mov edx, dword [esp + 0xc8]
inc edx
jmp 0x4e9e94
mov ecx, dword [esp + 0x14]
dec ecx
mov edi, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
cmp eax, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], edx
jbe 0x4e9f22
imul eax, eax, 0xc
test edx, edx
je 0x4e9f2c
imul esi, edx, 0xc
mov ecx, edi
mov edx, eax
push esi
call fcn.004e3ac2
pop ecx
mov ecx, edi
mov edi, eax
test eax, eax
jne 0x4e9f3a
mov dword [esp + 0x24], ecx
push 4
pop ecx
jmp 0x4e9f43
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x54]
jmp 0x4e9f4e
mov ecx, edi
push 4
pop edi
mov edx, edi
push eax
call fcn.00404f8c
pop eax
mov ecx, 0x80000001
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x54]
mov edx, esi
call fcn.00404ae3
call fcn.004e309e
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
movzx eax, word [esp + 0xc0]
mov word [esp + 0x68], ax
mov al, byte [esp + 0xc2]
mov byte [esp + 0x6a], al
movups xmm0, xmmword [esp + 0x150]
movups xmm1, xmmword [esp + 0x160]
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0xd0], xmm1
movups xmm0, xmmword [esp + 0x170]
movaps xmmword [esp + 0xe0], xmm0
mov eax, dword [esp + 0x180]
mov dword [esp + 0xf0], eax
push 8
pop edx
mov ecx, 0x138
call fcn.00404a5f
mov ebx, eax
xor edx, edx
inc edx
mov dword [eax], edx
mov dword [eax + 4], edx
and dword [eax + 8], 0
xor edx, edx
mov byte [eax + 0xc], dl
movzx eax, word [esp + 0x8d]
mov word [ebx + 0xd], ax
mov al, byte [esp + 0x8f]
mov byte [ebx + 0xf], al
mov dword [ebx + 0x10], edi
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x14], eax
lea edi, [ebx + 0x18]
push 0x1e
pop ecx
lea esi, [esp + 0x1d0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x90], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x94], eax
and dword [ebx + 0x98], 0
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x9c], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0xa4], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xa0], eax
mov byte [ebx + 0xa8], dl
lea esi, [esp + 0x2c]
mov eax, dword [esi]
mov ecx, dword [esi + 3]
mov dword [ebx + 0xa9], eax
mov dword [ebx + 0xac], ecx
mov byte [ebx + 0xb0], dl
push 4
pop edi
mov dword [ebx + 0xb4], edi
and dword [ebx + 0xb8], 0
and dword [ebx + 0xbc], 0
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xc0], eax
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc4], ecx
mov eax, dword [esp + 0x10]
mov dword [ebx + 0xc8], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xcc], eax
xor eax, eax
inc eax
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xd4], ecx
and dword [ebx + 0xd8], 0
mov dword [esp + 0xc], 0
mov byte [ebx + 0xdc], dl
mov al, byte [esp + 0x72]
mov byte [ebx + 0xdf], al
movzx eax, word [esp + 0x70]
mov word [ebx + 0xdd], ax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xe0], eax
mov dword [ebx + 0xe4], ecx
and dword [ebx + 0xec], 0
and dword [ebx + 0xe8], 0
and dword [ebx + 0xf1], 0
and dword [ebx + 0xed], 0
mov al, byte [esp + 0x6a]
mov byte [ebx + 0xf7], al
movzx eax, word [esp + 0x68]
mov word [ebx + 0xf5], ax
movaps xmm0, xmmword [esp + 0xc0]
movaps xmm1, xmmword [esp + 0xd0]
movups xmmword [ebx + 0xf8], xmm0
movups xmmword [ebx + 0x108], xmm1
movaps xmm0, xmmword [esp + 0xe0]
movups xmmword [ebx + 0x118], xmm0
mov eax, dword [esp + 0xf0]
mov dword [ebx + 0x128], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], ebx
mov dword [ebx + 0x130], eax
mov dword [esi], edi
and dword [esi + 4], 0
and dword [esi + 8], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
and dword [esp + 0x50], 0
mov dword [esp + 0xcc], ecx
and dword [esp + 0xd0], 0
lea ecx, [eax + ecx*4]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
lea edx, [esp + 0x48]
mov dword [esp + 0xc8], edx
and dword [esp + 0xd4], 0
mov esi, edi
cmp eax, ecx
je 0x4ea249
mov dword [esp + 0x10], esi
lea ecx, [eax + 4]
mov dword [esp + 0xc0], ecx
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0xd4]
lea eax, [ebx + 1]
mov dword [esp + 0xd4], eax
mov esi, dword [esp + 0x1c]
lock inc dword [esi]
jle 0x4ea71f
push 0x14
pop ecx
push 4
pop edx
call fcn.00404a5f
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], esi
mov dword [edi + 0xc], ebx
mov eax, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0x30]
jne 0x4ea222
lea ecx, [esp + 0x2c]
call fcn.004e41b0
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
jmp 0x4ea226
mov esi, dword [esp + 0x10]
mov dword [esi + edx*4], edi
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
jmp 0x4ea1a9
lea edi, [esp + 0xc0]
mov ecx, edi
call fcn.004e439c
lea esi, [esp + 0x2c]
movsd xmm0, qword [esi]
movsd qword [edi], xmm0
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
lea ecx, [esp + 0x48]
call fcn.004e3d5a
lea ecx, [esp + 0x84]
call fcn.004e3b50
movsd xmm0, qword [edi]
movsd qword [esp + 0x38], xmm0
mov eax, dword [edi + 8]
mov dword [esp + 0x40], eax
xor edx, edx
inc edx
mov ecx, esi
push dword [esp + 0x1c]
call fcn.004eaced
pop eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
and dword [esp + 0x40], 0
mov dword [esp + 0x15c], ecx
and dword [esp + 0x160], 0
lea ecx, [eax + ecx*4]
mov dword [esp + 0x150], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x154], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x158], ecx
cmp eax, dword [esp + 0x28]
je 0x4ea419
lea ecx, [eax + 4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x150], ecx
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov ecx, 0x54b9e4
call fcn.004e1267
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x88], edx
test eax, eax
mov ecx, 0x130
mov eax, 0x100
cmove ecx, eax
mov dword [esp + 0x10], ecx
mov edi, dword [0x57e0c4]
mov esi, dword [0x57e0c0]
mov ebx, esi
add ebx, 1
mov ecx, edi
adc ecx, 0
mov eax, esi
mov edx, edi
lock cmpxchg8b qword [0x57e0c0]
mov esi, eax
mov edi, edx
jne 0x4ea333
mov ecx, 0x80
push 0x40
pop edx
call fcn.0043e582
mov ebx, eax
mov dword [eax], 0xcc
and dword [eax + 4], 0
mov dword [eax + 8], 0x54adec
and dword [eax + 0x14], 0
and dword [eax + 0x10], 0
mov dword [eax + 0x1c], edi
mov dword [eax + 0x18], esi
and dword [eax + 0x24], 0
mov dword [eax + 0x20], 2
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x28], eax
and dword [ebx + 0x38], 0
and dword [ebx + 0x3c], 0
and dword [ebx + 0x40], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx]
lea ecx, [esp + 0xc4]
lea esi, [esp + 0x84]
push esi
push ebx
call fcn.004e6693
pop eax
pop ecx
mov al, byte [esp + 0xc4]
lea edx, [esp + 0xc0]
mov ecx, dword [edx + 5]
mov edx, dword [edx + 8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6b], edx
mov ecx, eax
and cl, 0xfe
cmp cl, 4
jne 0x4ea759
mov ecx, esi
call fcn.0049a6a5
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg dword [ebx], ecx
mov esi, dword [esp + 0x20]
mov eax, esi
je 0x4ea2da
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0x10]
add esp, 4
mov eax, esi
jmp 0x4ea2da
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov eax, str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
sub edx, ecx
je 0x4ea446
shr edx, 2
call fcn.004e3c28
lea ecx, [esp + 0x150]
call fcn.004e37d9
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
call fcn.004e3c28
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4ea478
shl eax, 2
mov ecx, dword [esp + 0x38]
push 4
pop edx
push eax
call fcn.00404f8c
pop eax
mov eax, dword [esp + 0x64]
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x24], ecx
lea esi, [esp + 0x2c]
mov ecx, esi
call fcn.004e79b9
mov ecx, esi
call fcn.004e5f68
jmp 0x4ea717
push 4
pop edi
mov edx, edi
push eax
call fcn.00404f8c
pop eax
mov ecx, 0x80000001
mov dword [esp + 0xc], edi
mov edx, esi
call fcn.00404ae3
call fcn.004e309e
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d3]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc3], ecx
movzx eax, word [esp + 0x2c]
mov word [esp + 0x48], ax
mov al, byte [esp + 0x2e]
mov byte [esp + 0x4a], al
movzx eax, word [esp + 0x38]
mov word [esp + 0x70], ax
mov al, byte [esp + 0x3a]
mov byte [esp + 0x72], al
push 8
pop edx
mov ecx, 0x108
call fcn.00404a5f
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ebx, eax
and dword [eax + 0x10], 0
mov dword [eax + 0x14], 3
mov dword [eax + 0x1c], esi
mov dword [eax + 0x18], edi
xor eax, eax
mov byte [ebx + 0x20], al
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc3]
mov dword [ebx + 0x21], ecx
mov dword [ebx + 0x24], edx
mov ecx, dword [esp + 0xbc]
mov dword [ebx + 0x28], ecx
mov ecx, dword [esp + 0xb0]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [esp + 0xb4]
mov dword [ebx + 0x30], ecx
mov ecx, dword [esp + 0xb8]
mov dword [ebx + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x38], ecx
mov ecx, dword [esp + 0x80]
mov dword [ebx + 0x3c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [ebx + 0x40], ecx
mov ecx, dword [esp + 0x78]
mov dword [ebx + 0x44], ecx
and dword [ebx + 0x48], 0
mov byte [ebx + 0x4c], al
mov cl, byte [esp + 0x1d2]
mov byte [ebx + 0x4f], cl
movzx ecx, word [esp + 0x1d0]
mov word [ebx + 0x4d], cx
mov ecx, dword [esp + 0x58]
mov dword [ebx + 0x50], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x54], ecx
mov cl, byte [esp + 0x60]
mov byte [ebx + 0x58], cl
mov cl, byte [esp + 0x54]
mov byte [ebx + 0x59], cl
mov byte [ebx + 0x5c], al
mov cl, byte [esp + 0x4a]
mov byte [ebx + 0x5f], cl
movzx ecx, word [esp + 0x48]
mov word [ebx + 0x5d], cx
and dword [ebx + 0x60], 0
and dword [ebx + 0x64], 0
mov byte [ebx + 0x68], al
mov cl, byte [esp + 0x72]
mov byte [ebx + 0x6b], cl
movzx ecx, word [esp + 0x70]
mov word [ebx + 0x69], cx
and dword [ebx + 0x6c], 0
mov byte [ebx + 0x70], al
lea edi, [ebx + 0x78]
push 0x1e
pop ecx
lea esi, [esp + 0x150]
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0xf0], 0
mov byte [ebx + 0xf4], al
movzx eax, word [esp + 0x84]
mov word [ebx + 0xf5], ax
mov al, byte [esp + 0x86]
mov byte [ebx + 0xf7], al
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xf8], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xfc], eax
mov edi, dword [esp + 0x1c]
mov dword [ebx + 0x100], edi
push 4
pop ecx
mov edx, 0x100
call fcn.00404a80
test eax, eax
je 0x4ea7d7
mov esi, eax
push 0x3c
pop ecx
push 4
pop edx
call fcn.00404a5f
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], ecx
movaps xmm0, xmmword [esp + 0x90]
movups xmmword [eax + 0xc], xmm0
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], esi
movaps xmm0, xmmword [0x50cf70]
movups xmmword [eax + 0x24], xmm0
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x34], ecx
xor ecx, ecx
mov byte [eax + 0x38], cl
mov edx, dword [esp + 0x64]
and dword [edx + 4], 0
mov byte [edx + 8], cl
movzx ecx, word [esp + 0x1d0]
mov word [edx + 9], cx
mov cl, byte [esp + 0x1d2]
mov byte [edx + 0xb], cl
and dword [edx + 0xc], 0
and dword [edx + 0x10], 0
mov dword [edx + 0x14], eax
and dword [edx], 0
and dword [edx + 0x18], 0
mov dword [edx + 0x1c], ebx
mov dword [edx + 0x20], edi
mov eax, dword [esp + 0xac]
mov dword [edx + 0x24], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
ud2
push 4
pop ecx
mov edx, 0x400
call fcn.00506930
ud2
and dword [esp + 0xc0], 0
lea ecx, [esp + 0x70]
mov edx, 0x54c4a0
push 0x54c4d8
lea eax, [esp + 0xc4]
push eax
call fcn.0050ada2
pop eax
pop ecx
ud2
lea edx, [esp + 0x70]
mov byte [edx], al
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6b]
mov dword [edx + 1], eax
mov dword [edx + 4], ecx
lea ecx, [esp + 0xc0]
mov dword [ecx], str.OS_cant_spawn_worker_thread:
xor eax, eax
inc eax
mov dword [ecx + 4], eax
and dword [ecx + 0x10], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], fcn.004cd1c0
lea edx, [esp + 0x48]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x54b9e4
call fcn.00506b50
ud2
call fcn.004156f0
ud2
push 4
pop ecx
mov edx, esi
jmp 0x4ea72b
push 0x30
pop edx
mov ecx, 0x54bd68
push 0x54bdbc
call fcn.00506cd0
pop eax
ud2
push 4
pop ecx
push 0x30
pop edx
jmp 0x4ea72b
push 4
pop ecx
mov edx, 0x100
jmp 0x4ea72b
movups xmm0, xmmword [esp + 0x90]
lea eax, [esp + 0x150]
movaps xmmword [eax], xmm0
lea edx, [esp + 0xc0]
mov dword [edx], str.TOKIO_WORKER_THREADSmain.rs_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [edx + 4], fcn.0042ce6a
lea ecx, [esp + 0x1d0]
mov dword [ecx], 0x54a94c
push 2
pop esi
mov dword [ecx + 4], esi
and dword [ecx + 0x10], 0
mov dword [edx + 8], eax
mov dword [edx + 0xc], fcn.004cd340
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], esi
mov edx, 0x54a95c
jmp 0x4ea79f
mov al, byte [esp + 0x2d]
lea ecx, [esp + 0x38]
mov byte [ecx], al
lea eax, [esp + 0x1d0]
mov dword [eax], str.TOKIO_WORKER_THREADSmain.rs_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [eax + 4], fcn.0042ce6a
mov dword [eax + 8], ecx
mov dword [eax + 0xc], fcn.00422b20
lea edx, [esp + 0x150]
lea ecx, [esp + 0xc0]
mov dword [ecx], 0x54a990
push 3
pop esi
mov dword [ecx + 4], esi
and dword [ecx + 0x10], 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0x404de3
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
mov edx, 0x54a9a8
jmp 0x4ea79f
lea eax, [esp + 0xc0]
lea ecx, [esp + 0x1d0]
mov dword [ecx], 0x54a904
mov dword [ecx + 4], 2
and dword [ecx + 0x10], 0
mov dword [eax], str.TOKIO_WORKER_THREADSmain.rs_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [eax + 4], fcn.0042ce6a
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
mov edx, 0x54a91c
jmp 0x4ea79f