Function at 0x41f460
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov eax, dword [edx + 8]
cmp byte [ebp + 8], 0
mov edi, edx
mov ebx, ecx
je 0x41f488
mov edx, dword [eax + 0x70]
test edx, edx
je 0x41f4a2
mov ecx, dword [eax + 0x74]
jmp 0x41f4b3
mov edx, dword [eax + 0x68]
test edx, edx
jne 0x41f4b0
mov ecx, dword [eax + 0x70]
mov edx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
test ecx, ecx
je 0x41f4b3
mov edx, ecx
mov ecx, dword [eax + 0x74]
jmp 0x41f4b3
mov ecx, dword [eax + 0x68]
mov edx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
test ecx, ecx
je 0x41f4b3
mov edx, ecx
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edi
mov ecx, dword [eax + 0x134]
test ecx, ecx
mov dword [esp + 0x60], ecx
je 0x41f5dd
mov ecx, dword [eax + 0x13c]
cmp ecx, 7
mov dword [esp + 0xc], ecx
ja 0x41f512
test ecx, ecx
je 0x41f5dd
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xc]
nop word cs:[eax + eax]
cmp byte [ecx], 0x20
je 0x41f661
inc ecx
dec edx
jne 0x41f500
jmp 0x41f5dd
mov edx, dword [esp + 0x60]
lea ecx, [edx + 3]
and ecx, 0xfffffffc
sub ecx, edx
je 0x41f55a
mov edx, dword [esp + 0xc]
cmp ecx, edx
cmovae ecx, edx
test ecx, ecx
je 0x41f55a
mov edx, dword [esp + 0x60]
mov esi, ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [edx], 0x20
je 0x41f661
inc edx
dec esi
jne 0x41f540
mov edx, dword [esp + 0xc]
add edx, 0xfffffff8
cmp ecx, edx
jbe 0x41f563
jmp 0x41f5b5
mov ecx, dword [esp + 0xc]
lea edx, [ecx - 8]
xor ecx, ecx
movdqa xmm0, xmmword [0x54b0c0]
movdqa xmm1, xmmword [0x54b0d0]
movdqa xmm2, xmmword [0x54b0e0]
nop dword [eax + eax]
mov esi, dword [esp + 0x60]
movq xmm3, qword [esi + ecx]
movdqa xmm4, xmm3
pxor xmm4, xmm0
paddd xmm4, xmm1
pandn xmm3, xmm4
pand xmm3, xmm2
movd esi, xmm3
pshufd xmm3, xmm3, 0x55
movd edi, xmm3
or edi, esi
jne 0x41f5b5
add ecx, 8
cmp ecx, edx
jbe 0x41f580
mov edx, dword [esp + 0xc]
mov edi, dword [esp + 0x7c]
sub edx, ecx
je 0x41f5dd
add ecx, dword [esp + 0x60]
nop word cs:[eax + eax]
nop
cmp byte [ecx], 0x20
je 0x41f661
inc ecx
dec edx
jne 0x41f5d0
mov ecx, dword [eax + 0xec]
mov eax, dword [eax + 0xf4]
lea esi, [esp + 0x14]
mov dword [esp + 0x34], 0x54d90c
mov dword [esp + 0x38], 3
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], 2
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x18], sym.__LT__RF_T_u20_as_u20_core..fmt..Display_GT_::fmt::h09d8bcc9c7492b64
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], sym.__LT__RF_T_u20_as_u20_core..fmt..Display_GT_::fmt::h09d8bcc9c7492b64
lea ecx, [esp + 0x54]
lea edx, [esp + 0x34]
call dbg.format_inner
mov eax, dword [esp + 0x54]
movsd xmm0, qword [esp + 0x58]
jmp 0x41f9c2
mov eax, dword [esp + 0x60]
mov dword [esp + 0x34], 0x20
xor edx, edx
xor esi, esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 1
mov dword [esp + 0x4c], 0x20
mov ecx, eax
sub ecx, esi
jb 0x41f8eb
mov eax, dword [esp + 0x60]
mov dword [esp + 0x28], edx
mov edi, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], ecx
lea edx, [eax + esi]
movzx eax, byte [esp + 0x4c]
mov dword [esp + 0x98], edx
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, esi
jmp 0x41f70d
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x2c]
lea edx, [eax + ecx]
sub edi, ecx
mov eax, ecx
mov ecx, dword [esp + 0x10]
jb 0x41fabf
cmp edi, 8
jae 0x41f740
test edi, edi
je 0x41fabf
xor esi, esi
nop dword [eax]
cmp byte [edx + esi], 0x20
je 0x41f809
inc esi
cmp edi, esi
jne 0x41f720
jmp 0x41f8db
mov dword [esp + 0x88], eax
lea eax, [edx + 3]
and eax, 0xfffffffc
sub eax, edx
je 0x41f778
cmp eax, edi
cmovae eax, edi
test eax, eax
je 0x41f778
xor esi, esi
nop dword [eax]
cmp byte [edx + esi], 0x20
je 0x41f802
inc esi
cmp eax, esi
jne 0x41f760
lea esi, [edi - 8]
mov dword [esp + 0x78], ebx
jmp 0x41f790
mov dword [esp + 0x78], ebx
lea esi, [edi - 8]
xor eax, eax
jmp 0x41f794
cmp eax, esi
ja 0x41f7cf
movq xmm0, qword [edx + eax]
movdqa xmm1, xmm0
pxor xmm1, xmmword [0x54b0c0]
paddd xmm1, xmmword [0x54b0d0]
pandn xmm0, xmm1
pand xmm0, xmmword [0x54b0e0]
movd ecx, xmm0
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
or ebx, ecx
jne 0x41f7cf
add eax, 8
jmp 0x41f790
sub edi, eax
je 0x41fab3
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x10]
add edx, eax
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
cmp byte [edx + esi], 0x20
je 0x41f800
inc esi
cmp edi, esi
jne 0x41f7f0
jmp 0x41f8db
add esi, eax
mov eax, dword [esp + 0x88]
add esi, eax
mov ecx, esi
inc ecx
mov dword [esp + 0x30], ecx
je 0x41f6f0
cmp dword [esp + 0xc], ecx
jb 0x41f6f0
mov eax, dword [esp + 0x60]
movzx edx, byte [esp + 0x27]
cmp byte [eax + esi], dl
jne 0x41f6f0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
sub esi, dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
mov ecx, eax
sub eax, edx
cmp eax, esi
jae 0x41f867
lea ecx, [esp + 0x14]
push esi
call dbg.do_reserve_and_handle<u8, alloc::alloc::Global>
add esp, 4
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x41f86b
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], eax
add eax, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], edx
push esi
push dword [esp + 0x9c]
push eax
call sym._memcpy
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x10]
add eax, esi
mov dword [esp + 0x1c], eax
cmp edx, eax
jne 0x41f8b6
lea ecx, [esp + 0x14]
push 1
call dbg.do_reserve_and_handle<u8, alloc::alloc::Global>
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov byte [ecx + eax], 0x2d
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
mov ecx, eax
sub ecx, esi
jae 0x41f6bb
jmp 0x41f8eb
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
sub eax, edx
cmp eax, ecx
jae 0x41f90c
mov eax, ecx
lea ecx, [esp + 0x14]
push eax
call dbg.do_reserve_and_handle<u8, alloc::alloc::Global>
add esp, 4
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
add eax, edx
add ecx, esi
mov edi, dword [esp + 0x10]
push edi
push ecx
push eax
mov esi, edx
call sym._memcpy
add esp, 0xc
movq xmm0, qword [esp + 0x14]
lea eax, [esp + 0x54]
add esi, edi
mov dword [esp + 0x34], 0x54d90c
mov dword [esp + 0x38], 3
mov dword [esp + 0x44], 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x18], sym.__LT_alloc..string..String_u20_as_u20_core..fmt..Display_GT_::fmt::hb93137a3e6a1b84a
mov dword [esp + 0x5c], esi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x20], sym.__LT__RF_T_u20_as_u20_core..fmt..Display_GT_::fmt::h09d8bcc9c7492b64
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 2
movq qword [esp + 0x54], xmm0
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x34]
call dbg.format_inner
cmp dword [esp + 0x58], 0
mov edi, dword [esp + 0x7c]
je 0x41f9b2
push dword [esp + 0x54]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x90]
mov dword [esp + 0xc], eax
mov edx, dword [edi + 8]
mov cl, 2
movaps xmmword [esp + 0x60], xmm0
mov eax, dword [edx + 0xc0]
test eax, 0x100000
jne 0x41fa0c
mov edi, ebx
mov ebx, dword [edx + 0xc8]
mov esi, eax
and esi, 0x800000
mov dword [esp + 0x10], ebx
and ebx, 0x900000
or ebx, esi
mov ebx, edi
mov edi, dword [esp + 0x7c]
jne 0x41fa0c
or eax, dword [esp + 0x10]
shr eax, 0x15
and al, 1
mov ecx, eax
mov byte [esp + 0x41], 0
mov byte [esp + 0x40], cl
mov dword [esp + 0x34], 4
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x34]
xor edx, edx
call sym.alloc::raw_vec::RawVec_LT_T_C_A_GT_::reserve_for_push::h000c0e560bae9379
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0xc]
movaps xmm0, xmmword [esp + 0x60]
mov ecx, eax
inc eax
shl ecx, 4
mov dword [edx + ecx], esi
movlps qword [edx + ecx + 4], xmm0
mov byte [edx + ecx + 0xc], 4
mov dword [esp + 0x3c], eax
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x3c]
movsd qword [ebx], xmm0
movsd qword [ebx + 8], xmm1
mov eax, dword [edi + 8]
movzx eax, byte [eax + 0xc0]
mov byte [ebx + 0x24], 0x12
mov dword [ebx + 0x18], 4
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x10], 0
shr al, 6
and al, 1
mov byte [ebx + 0x25], al
mov byte [ebx + 0x26], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
jmp 0x41f8e7