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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
cmp edx, 0x101
jb 0x100f57f8
cmp byte [ecx + 0x100], 0xbf
mov ebx, 0x100
jg 0x100f57c8
cmp byte [ecx + 0xff], 0xbf
mov ebx, 0xff
jg 0x100f57c8
cmp byte [ecx + 0xfe], 0xbf
mov ebx, 0xfe
jg 0x100f57c8
mov ebx, 0xfd
cmp ebx, edx
jae 0x100f5801
cmp byte [ecx + ebx], 0xbf
jle 0x100f5907
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov ebx, 5
mov ebp, str._..._byte_index__is_out_of_bounds_of__
cmp edi, edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
jbe 0x100f5821
jmp 0x100f5898
mov dword [esp], ecx
mov dword [esp + 4], edx
jmp 0x100f580e
jne 0x100f5907
mov dword [esp], ecx
mov dword [esp + 4], ebx
xor ebx, ebx
mov ebp, str.assertion_failed:_edelta___0librarycore_src_numdiy_float.rs
cmp edi, edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
ja 0x100f5898
cmp esi, edx
ja 0x100f5898
cmp edi, esi
jbe 0x100f5917
lea ecx, [esp + 0x7c]
lea esi, [esp + 0x80]
mov edx, esp
mov dword [esp + 0x14], 0x10179f44
mov dword [esp + 0x18], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], fcn.100f8070
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], fcn.100f8070
mov dword [esp + 0x34], edx
lea edx, [esp + 0x24]
lea esi, [esp + 0x4c]
mov dword [esp + 0x38], 0x100f85b0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], 0x100f85b0
mov dword [esp + 0x20], 4
jmp 0x100f58f7
cmp edi, edx
lea ecx, [esp + 0x54]
mov edx, esp
mov dword [esp + 0x14], 0x10179f08
mov dword [esp + 0x18], 3
mov dword [esp + 0xc], 0
cmova esi, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], fcn.100f8070
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x24]
mov dword [esp + 0x30], 0x100f85b0
mov dword [esp + 0x54], esi
lea esi, [esp + 0x4c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 3
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0x100f85b0
lea ecx, [esp + 0xc]
push eax
push ecx
call fcn.1010c690
add esp, 8
ud2
push eax
push ebx
push 0
push edx
push ecx
call fcn.1010cc70
add esp, 0x14
ud2
test edi, edi
jne 0x100f5949
mov edi, esi
cmp edi, edx
mov esi, edx
mov dword [esp + 0x5c], edi
jae 0x100f596f
mov ebx, edi
xor esi, esi
sub ebx, 3
cmovb ebx, esi
lea esi, [edi + 1]
cmp esi, ebx
jae 0x100f5955
push 0x10179fdc
push esi
push ebx
call fcn.1010cb70
add esp, 0xc
ud2
cmp edi, edx
jae 0x100f5982
cmp byte [ecx + edi], 0xc0
jge 0x100f591b
jmp 0x100f591d
add esi, ecx
add edi, ecx
sub esi, ecx
sub esi, ebx
nop dword [eax]
test esi, esi
je 0x100f596d
dec esi
cmp byte [edi], 0xc0
lea edi, [edi - 1]
jl 0x100f5960
add esi, ebx
test esi, esi
je 0x100f5988
cmp esi, edx
jae 0x100f5986
cmp byte [ecx + esi], 0xbf
jg 0x100f5988
push eax
push edx
push esi
jmp 0x100f590b
je 0x100f591b
jmp 0x100f591d
jne 0x100f597d
cmp esi, edx
jne 0x100f599e
push eax
push 0x2b
push 0x1017944d
call fcn.1010c750
add esp, 0xc
ud2
movzx ebx, byte [ecx + esi]
movzx edx, bl
test bl, bl
js 0x100f59b4
mov dword [esp + 8], edx
mov edx, 1
jmp 0x100f5a31
movzx ebp, byte [ecx + esi + 1]
and edx, 0x1f
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x100f59f5
movzx edi, byte [ecx + esi + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp bl, 0xf0
jb 0x100f59fe
movzx ecx, byte [ecx + esi + 3]
and edx, 7
shl edi, 6
shl edx, 0x12
and ecx, 0x3f
or ecx, edi
or ecx, edx
cmp ecx, 0x110000
je 0x100f598c
jmp 0x100f5a05
shl edx, 6
or edx, ebp
mov ecx, edx
jmp 0x100f5a05
shl edx, 0xc
or edi, edx
mov ecx, edi
mov edx, 1
cmp ecx, 0x80
mov dword [esp + 8], ecx
jb 0x100f5a31
mov edx, 2
cmp ecx, 0x800
jb 0x100f5a31
cmp ecx, 0x10000
mov edx, 4
sbb edx, 0
add edx, esi
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x5c]
lea esi, [esp + 0x54]
mov dword [esp + 0x14], 0x10179f98
mov dword [esp + 0x18], 5
mov dword [esp + 0xc], 0
mov dword [esp + 0x58], edx
lea edx, [esp + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], fcn.100f8070
mov dword [esp + 0x2c], edx
mov edx, esp
mov dword [esp + 0x30], fcn.100f3f60
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0x100f0b80
lea esi, [esp + 0x4c]
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x24]
mov dword [esp + 0x40], 0x100f85b0
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0x100f85b0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 5
jmp 0x100f58f7