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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x490
cmp dword [ebp + 8], 0
mov dword [esp + 4], edx
je 0x49b646
movd eax, xmm0
mov dword [esp + 0x64], ecx
mov edx, eax
mov ebx, eax
mov esi, eax
shr edx, 0x17
and ebx, 0x7fffff
movzx edi, dl
lea edx, [eax + eax]
or ebx, 0x800000
and edx, 0xfffffe
test edi, edi
cmove ebx, edx
and esi, 0x7fffffff
cmp esi, 0x7f800000
jne 0x49b2ad
mov cl, 3
jmp 0x49b2f4
ucomiss xmm0, xmm0
jp 0x49b657
test eax, 0x7fffffff
je 0x49b2f2
test eax, 0x7f800000
je 0x49b2f6
test bl, 1
lea esi, [ebx + ebx]
movzx edi, di
sete cl
xor edx, edx
cmp ebx, 0x800000
mov ebx, 0x2000000
sete dl
cmovne ebx, esi
lea esi, [edx + 1]
xor edx, 0xffffff69
add edi, edx
mov edx, esi
jmp 0x49b307
mov cl, 4
jmp 0x49b309
add edi, 0xffffff6a
test bl, 1
mov edx, 1
sete cl
xor esi, esi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], esi
mov word [esp + 0x80], di
mov byte [esp + 0x82], cl
add cl, 0xfe
movzx edx, cl
cmp cl, 3
mov ecx, 3
cmovb ecx, edx
test cl, cl
je 0x49b3f2
mov ebx, eax
mov edx, 0x4cb9c3
mov esi, str.librarycore_src_num_f32.rs
shr ebx, 0x1f
cmp byte [esp + 4], 0
cmovne esi, edx
mov edx, 1
cmovne ebx, edx
test eax, eax
mov eax, 0x4cb9c2
cmovns eax, esi
cmp cl, 1
je 0x49b41a
movzx edx, byte [ebp + 0xc]
mov dword [esp + 4], eax
movzx eax, cl
cmp eax, 2
jne 0x49b436
mov eax, dword [ebp + 8]
cmp eax, 1
jbe 0x49b571
dec eax
test dl, dl
mov esi, 0x4cba02
mov ecx, str.e0E0assertion_failed:_buf.len_____ndigits__buf.len_____maxlen
mov word [esp + 0x1c], 2
mov dword [esp + 0x20], 0x4cb965
mov dword [esp + 0x24], 2
mov word [esp + 0x28], 0
mov edx, 3
cmovne ecx, esi
mov dword [esp + 0x2c], eax
mov word [esp + 0x34], 2
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], 2
jmp 0x49b619
mov word [esp + 0x1c], 2
mov dword [esp + 0x20], 0x4cb9c4
mov dword [esp + 0x24], 3
mov edx, 1
xor ebx, ebx
mov eax, str.librarycore_src_num_f32.rs
jmp 0x49b61d
mov word [esp + 0x1c], 2
mov dword [esp + 0x20], 0x4cb9c7
mov dword [esp + 0x24], 3
jmp 0x49b61d
mov esi, dword [ebp + 8]
test di, di
mov eax, 0xfffffff4
mov ecx, 5
movsx edi, di
cmovs ecx, eax
imul edi, ecx
cmp esi, 0x401
jb 0x49b463
cmp edi, 0x3ec0
jae 0x49b65e
shr edi, 4
add edi, 0x15
cmp edi, esi
cmovae edi, esi
cmp edi, 0x401
jae 0x49b66f
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x68]
lea eax, [esp + 0x1c]
push 0x8000
push edi
push ecx
push edx
push eax
call dbg.format_exact_opt
add esp, 0x14
cmp dword [esp + 0x1c], 0
je 0x49b59a
mov eax, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x1c]
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x49b5c6
mov edi, dword [esp + 8]
cmp byte [edi], 0x30
jbe 0x49b67f
movzx eax, word [esp + 0x10]
mov edx, ecx
mov word [esp + 0x1c], 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 1
or edx, esi
cmp edx, 1
mov edx, 1
jbe 0x49b53b
inc edi
lea edx, [ecx - 1]
mov word [esp + 0x28], 2
mov dword [esp + 0x2c], 0x4cb964
mov dword [esp + 0x30], 1
mov word [esp + 0x34], 2
sub esi, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov edx, 3
jbe 0x49b53b
mov word [esp + 0x40], 0
mov dword [esp + 0x44], esi
mov edx, 4
test ax, ax
jle 0x49b5d7
dec eax
cmp byte [ebp + 0xc], 0
mov ecx, 0x4cb9bd
mov esi, str.eEe_E__NaNinf00e00E0assertion_failed:_ndigits___0
cmovne esi, ecx
lea ecx, [edx + edx*2]
mov word [esp + ecx*4 + 0x1c], 2
mov dword [esp + ecx*4 + 0x20], esi
mov dword [esp + ecx*4 + 0x24], 1
jmp 0x49b607
test dl, dl
mov eax, 0x4cb9ce
mov ecx, 0x4cb9cb
mov word [esp + 0x1c], 2
mov edx, 1
cmovne ecx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 3
jmp 0x49b619
lea eax, [esp + 8]
push 0x8000
push edi
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x74]
push ecx
push eax
call dbg.format_exact
add esp, 0x14
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x49b4c5
push 0x4cb968
push 0x21
push str.assertion_failed:__buf.is_empty__
call dbg.panic
cmp byte [ebp + 0xc], 0
mov ecx, 0x4cb9c0
mov esi, 0x4cb9be
cmovne esi, ecx
lea ecx, [edx + edx*2]
mov word [esp + ecx*4 + 0x1c], 2
mov dword [esp + ecx*4 + 0x20], esi
mov dword [esp + ecx*4 + 0x24], 2
mov ecx, 1
sub ecx, eax
mov eax, ecx
lea ecx, [edx + edx*2]
add edx, 2
mov word [esp + ecx*4 + 0x28], 1
mov word [esp + ecx*4 + 0x2a], ax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], eax
lea eax, [esp + 0x1c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
lea edx, [esp + 8]
call dbg.pad_formatted_parts
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x4cb9f0
push 0x1d
push 0x4cb9d1
call dbg.panic
mov cl, 2
jmp 0x49b2f4
push 0x4cba44
push 0x3d
push 0x4cba04
call dbg.panic
push 0x4cba54
push 0x400
push edi
call dbg.slice_end_index_len_fail
push 0x4cb978
push 0x1f
push str.assertion_failed:_buf_0____b0
call dbg.panic