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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, dword [ebp + 0x10]
lea eax, [esp + 0x30]
push 6
push str..llvm.C:Users_runneradmin.cargo_registry_srcgithub.com_1285ae84e5963aae_rustc_demangle_0.1.18_srclib.rs
push esi
push dword [ebp + 0xc]
push eax
call fcn.00413e30
add esp, 0x14
cmp dword [esp + 0x30], 1
jne 0x41c47e
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x64]
lea ecx, [eax - 1]
cmp edx, 0xffffffff
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x10], ecx
lea ecx, [eax + edi - 1]
je 0x41c6d4
cmp ecx, ebx
jae 0x41c9d0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
sub esi, edx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], esi
mov dword [esp + 0x14], eax
neg eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], eax
jmp 0x41c5ed
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov bl, byte [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], eax
add eax, edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
jmp 0x41c4a8
mov ecx, dword [esp + 0x10]
mov bl, 1
add ecx, eax
test ecx, ecx
je 0x41c4c4
cmp edi, ecx
je 0x41c4c4
jbe 0x41d16e
mov eax, dword [esp + 4]
cmp byte [eax + ecx], 0xbf
jle 0x41d16e
cmp edi, ecx
je 0x41c7fa
mov eax, dword [esp + 4]
mov dword [esp + 0x10], ecx
lea edx, [eax + ecx]
mov bh, byte [edx]
movzx ecx, bh
test bh, bh
jns 0x41c545
mov edi, dword [esp + 0xc]
lea eax, [edx + 1]
cmp eax, edi
je 0x41c51e
movzx esi, byte [edx + 1]
add edx, 2
and esi, 0x3f
and ecx, 0x1f
cmp bh, 0xdf
jbe 0x41c52a
cmp edx, edi
je 0x41c52f
movzx eax, byte [edx]
inc edx
and eax, 0x3f
shl esi, 6
or esi, eax
cmp bh, 0xf0
jb 0x41c53d
cmp edx, edi
je 0x41c58e
movzx eax, byte [edx]
and eax, 0x3f
jmp 0x41c590
xor esi, esi
mov edx, edi
and ecx, 0x1f
cmp bh, 0xdf
ja 0x41c4fd
shl ecx, 6
jmp 0x41c540
xor eax, eax
mov edx, edi
shl esi, 6
or esi, eax
cmp bh, 0xf0
jae 0x41c512
shl ecx, 0xc
or ecx, esi
mov esi, dword [ebp + 0x10]
mov edi, dword [esp + 8]
test bl, bl
jne 0x41c5aa
cmp ecx, 0x110000
je 0x41c81b
mov eax, 1
cmp ecx, 0x80
jb 0x41c4a0
mov eax, 2
cmp ecx, 0x800
jb 0x41c4a0
cmp ecx, 0x10000
mov eax, 4
sbb eax, 0
jmp 0x41c4a0
xor eax, eax
and ecx, 7
shl esi, 6
mov edi, dword [esp + 8]
shl ecx, 0x12
or esi, ecx
or esi, eax
mov ecx, esi
mov esi, dword [ebp + 0x10]
test bl, bl
je 0x41c54d
mov edi, dword [esp + 0x10]
xor bl, 1
mov byte [esp + 0x3c], bl
mov dword [esp + 0x34], edi
mov ecx, edi
mov dword [esp + 8], edi
add ecx, 6
jne 0x41c870
jmp 0x41c887
mov edi, esi
mov dword [esp + 0x18], 0
add edi, dword [esp + 8]
mov eax, dword [esp + 0x1c]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x41c9c1
mov esi, edi
mov edi, dword [esp + 0xc]
xor eax, eax
mov edx, 1
mov cl, byte [edi + ecx]
shld eax, edx, cl
mov edx, 1
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, edx
cmovne edx, ecx
and eax, dword [esp + 0x20]
and edx, dword [esp + 0x24]
or edx, eax
je 0x41c5d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
mov edx, eax
mov eax, edi
mov edi, esi
cmova edx, ecx
add eax, esi
mov ecx, edx
mov dword [esp + 0x28], edx
nop dword [eax]
cmp ecx, dword [esp + 8]
jae 0x41c680
lea edx, [edi + ecx]
cmp edx, dword [esp + 4]
jae 0x41d14b
mov edx, dword [esp + 0x10]
lea ebx, [ecx + 1]
mov edi, esi
movzx edx, byte [edx + ecx]
cmp dl, byte [eax + ecx]
mov ecx, ebx
je 0x41c640
add edi, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
add edi, ebx
mov ebx, dword [esp + 4]
jmp 0x41c5de
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 4]
nop dword [eax + eax]
cmp dword [esp + 0x18], ecx
jae 0x41c839
dec ecx
cmp ecx, dword [esp + 8]
jae 0x41d162
lea eax, [ecx + edi]
cmp eax, ebx
jae 0x41d19a
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
movzx edx, byte [edx + ecx]
cmp dl, byte [edi + eax]
mov edi, esi
je 0x41c690
add edi, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x18], eax
jmp 0x41c5de
cmp ecx, ebx
jae 0x41d0de
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
cmp edx, ebx
mov dword [esp + 0x28], edx
cmova ebx, edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
jmp 0x41c722
add edi, dword [esp + 8]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 4]
lea ecx, [edi + eax]
cmp ecx, ebx
jae 0x41d0da
mov edx, dword [esp + 0xc]
xor eax, eax
mov ebx, 1
mov cl, byte [edx + ecx]
shld eax, ebx, cl
mov ebx, 1
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne eax, ebx
cmovne ebx, ecx
and eax, dword [esp + 0x14]
and ebx, dword [esp + 0x20]
or ebx, eax
je 0x41c70b
lea eax, [edx + edi]
mov ecx, edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
neg ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [esp + 0x24], eax
mov ebx, dword [esp + 4]
je 0x41c7aa
lea esi, [edi + eax]
mov edx, edi
cmp esi, ebx
jae 0x41d184
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
dec ecx
movzx ebx, byte [esi + eax]
cmp bl, byte [edi + eax]
lea eax, [eax + 1]
mov edi, edx
je 0x41c770
mov esi, dword [ebp + 0x10]
neg ecx
mov edi, ecx
jmp 0x41c70f
mov ecx, dword [esp + 0x28]
mov esi, dword [ebp + 0x10]
nop word cs:[eax + eax]
nop dword [eax + eax]
test ecx, ecx
je 0x41c85b
dec ecx
cmp ecx, dword [esp + 8]
jae 0x41d162
lea eax, [ecx + edi]
cmp eax, dword [esp + 4]
jae 0x41d1a2
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx + ecx]
mov edx, dword [esp + 0xc]
cmp bl, byte [edx + eax]
je 0x41c7c0
add edi, dword [esp + 0x2c]
jmp 0x41c70f
mov eax, ebx
xor al, 1
test bl, bl
mov byte [esp + 0x3c], al
mov dword [esp + 0x34], edi
je 0x41c9d4
mov ecx, edi
mov dword [esp + 8], edi
add ecx, 6
jne 0x41c870
jmp 0x41c887
mov eax, dword [esp + 0x10]
mov byte [esp + 0x3c], 1
mov dword [esp + 0x34], eax
mov ecx, dword [ebp + 0xc]
cmp esi, 3
jb 0x41c8ba
jmp 0x41c9e0
mov eax, dword [esp + 8]
mov esi, dword [ebp + 0x10]
add eax, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], 0
mov ecx, edi
mov dword [esp + 8], edi
add ecx, 6
jne 0x41c870
jmp 0x41c887
mov eax, dword [esp + 8]
add eax, edi
mov dword [esp + 0x4c], eax
mov ecx, edi
mov dword [esp + 8], edi
add ecx, 6
je 0x41c887
cmp ecx, esi
je 0x41c887
jae 0x41d1b6
mov eax, dword [ebp + 0xc]
cmp byte [eax + ecx], 0xbf
jle 0x41d1b6
cmp ecx, esi
jne 0x41c8da
mov esi, dword [esp + 8]
test esi, esi
je 0x41c9d4
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
cmp esi, eax
je 0x41c8b1
jae 0x41d1cb
cmp byte [ecx + esi], 0xbf
jle 0x41d1cb
cmp esi, 3
jae 0x41c9e0
cmp esi, 2
je 0x41ca02
mov dword [esp + 0xc], str._for______as_::shimclosure:__dyn_____mut_const__unsafe_extern__
xor edx, edx
mov dword [esp + 4], 2
jmp 0x41d0a8
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
add edx, eax
add ecx, eax
jmp 0x41c8f4
cmp ecx, edx
je 0x41c88b
movzx ebx, byte [ecx]
lea eax, [ecx + 1]
movzx esi, bl
test bl, bl
js 0x41c910
mov ecx, eax
jmp 0x41c990
cmp eax, edx
je 0x41c948
movzx edi, byte [ecx + 1]
add ecx, 2
and edi, 0x3f
and esi, 0x1f
cmp bl, 0xdf
jbe 0x41c954
cmp ecx, edx
je 0x41c95b
movzx eax, byte [ecx]
inc ecx
and eax, 0x3f
shl edi, 6
or edi, eax
cmp bl, 0xf0
jb 0x41c969
cmp ecx, edx
je 0x41c970
movzx ebx, byte [ecx]
inc ecx
and ebx, 0x3f
jmp 0x41c974
xor edi, edi
mov ecx, edx
and esi, 0x1f
cmp bl, 0xdf
ja 0x41c926
shl esi, 6
or esi, edi
jmp 0x41c990
xor eax, eax
mov ecx, edx
shl edi, 6
or edi, eax
cmp bl, 0xf0
jae 0x41c93b
shl esi, 0xc
or esi, edi
jmp 0x41c990
xor ebx, ebx
mov ecx, edx
and esi, 7
shl edi, 6
shl esi, 0x12
or edi, esi
or edi, ebx
cmp edi, 0x110000
mov esi, edi
je 0x41c88b
nop
lea eax, [esi - 0x41]
cmp eax, 6
jb 0x41c8f0
cmp esi, 0x40
je 0x41c8f0
add esi, 0xffffffd0
cmp esi, 9
jbe 0x41c8f0
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
cmp esi, 3
jae 0x41c9e0
jmp 0x41c8ba
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x4c], ebx
mov ecx, dword [ebp + 0xc]
cmp esi, 3
jb 0x41c8ba
cmp ecx, str._ZNC:Users_runneradmin.cargo_registry_srcgithub.com_1285ae84e5963aae_rustc_demangle_0.1.18_srclegacy.rs
je 0x41ca56
movzx eax, word [ecx]
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx + 2]
xor eax, 0x5a5f
xor ecx, 0x4e
or cx, ax
mov ecx, dword [ebp + 0xc]
je 0x41ca56
cmp ecx, 0x464c10
je 0x41ca78
movzx eax, word [ecx]
cmp eax, 0x4e5a
je 0x41ca78
cmp esi, 4
jb 0x41caf7
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x464c24
je 0x41ca34
cmp dword [ecx], 0x4e5a5f5f
jne 0x41caff
mov eax, 0xfffffffc
mov edx, 4
cmp esi, 4
je 0x41ca91
cmp byte [ecx + 4], 0xbf
jg 0x41ca91
push 0x464c28
push esi
push 4
jmp 0x41d1ef
mov eax, 0xfffffffd
mov edx, 3
cmp esi, 3
je 0x41ca91
cmp byte [ecx + 3], 0xbf
jg 0x41ca91
push 0x464c00
push esi
push 3
jmp 0x41d1ef
mov eax, 0xfffffffe
mov edx, 2
cmp esi, 2
je 0x41ca91
cmp byte [ecx + 2], 0xbf
jle 0x41d1e7
add edx, ecx
add eax, esi
lea ecx, [edx + eax]
mov dword [esp + 0x18], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov ecx, edx
nop word cs:[eax + eax]
test eax, eax
je 0x41cabf
dec eax
cmp byte [ecx], 0
lea ecx, [ecx + 1]
jns 0x41cab0
jmp 0x41caf7
cmp dword [esp + 0x18], 0
je 0x41caf7
mov eax, dword [esp + 8]
mov dl, byte [eax]
lea ecx, [eax + 1]
movzx edi, dl
test dl, dl
js 0x41cc21
cmp edi, 0x45
mov dword [esp + 4], 0
je 0x41cf2d
cmp edi, 0x110000
jne 0x41cc93
mov ecx, dword [ebp + 0xc]
cmp esi, 3
jb 0x41cb68
cmp ecx, str._RC:Users_runneradmin.cargo_registry_srcgithub.com_1285ae84e5963aae_rustc_demangle_0.1.18_src_v0.rs
je 0x41cbaa
movzx eax, word [ecx]
cmp eax, 0x525f
je 0x41cbaa
cmp byte [ecx], 0x52
je 0x41cb72
cmp esi, 3
jbe 0x41cb95
cmp ecx, 0x464de0
je 0x41cb45
movzx eax, word [ecx]
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx + 2]
xor eax, 0x5f5f
xor ecx, 0x52
or cx, ax
mov ecx, dword [ebp + 0xc]
jne 0x41cb95
mov al, byte [ecx + 3]
cmp al, 0xbf
jle 0x41d211
lea edx, [ecx + 3]
mov edi, 0xfffffffd
add al, 0xbf
mov dword [esp + 4], 2
cmp al, 0x19
jbe 0x41cbcb
jmp 0x41cbdd
cmp esi, 2
jne 0x41cb95
cmp byte [ecx], 0x52
jne 0x41cb95
mov al, byte [ecx + 1]
cmp al, 0xbf
jle 0x41d1dd
lea edx, [ecx + 1]
mov edi, 0xffffffff
add al, 0xbf
mov dword [esp + 4], 2
cmp al, 0x19
jbe 0x41cbcb
jmp 0x41cbdd
mov dword [esp + 0xc], str._for______as_::shimclosure:__dyn_____mut_const__unsafe_extern__
mov dword [esp + 4], 2
jmp 0x41d0a6
mov al, byte [ecx + 2]
cmp al, 0xbf
jle 0x41d1d6
lea edx, [ecx + 2]
mov edi, 0xfffffffe
add al, 0xbf
mov dword [esp + 4], 2
cmp al, 0x19
ja 0x41cbdd
add edi, esi
xor eax, eax
nop
cmp edi, eax
je 0x41cbec
cmp byte [edx + eax], 0
lea eax, [eax + 1]
jns 0x41cbd0
mov dword [esp + 0xc], str._for______as_::shimclosure:__dyn_____mut_const__unsafe_extern__
xor edx, edx
jmp 0x41d0a8
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0xc], str._for______as_::shimclosure:__dyn_____mut_const__unsafe_extern__
mov ebx, edx
mov dword [esp + 0x38], 0
call fcn.00418a30
test al, al
je 0x41ce82
mov ecx, dword [ebp + 0xc]
xor edx, edx
jmp 0x41d0a8
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
xor eax, eax
cmp dword [esp + 0x18], 1
mov ebx, ecx
je 0x41cc46
mov eax, dword [esp + 8]
lea ebx, [eax + 2]
movzx eax, byte [eax + 1]
mov dword [esp + 0x14], ebx
and eax, 0x3f
and edi, 0x1f
cmp dl, 0xdf
jbe 0x41cef4
cmp ebx, ecx
je 0x41cef9
movzx ecx, byte [ebx]
inc ebx
mov dword [esp + 0x14], ebx
and ecx, 0x3f
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x10]
shl eax, 6
add eax, dword [esp + 4]
cmp dl, 0xf0
jb 0x41cf13
cmp ebx, ecx
je 0x41d104
movzx edx, byte [ebx]
inc ebx
mov ecx, ebx
and edx, 0x3f
jmp 0x41d10a
xor eax, eax
mov dword [esp + 0x1c], esi
add edi, 0xffffffd0
mov dword [esp + 0x24], eax
cmp edi, 9
ja 0x41caf7
xor eax, eax
jmp 0x41ccc2
mov ecx, esi
mov esi, dword [esp + 0x1c]
lea edi, [edx - 0x30]
cmp edi, 0xa
jae 0x41cd9c
mov edx, 0xa
mul edx
seto dh
add eax, edi
setb dl
test dh, dh
jne 0x41caf7
test dl, dl
jne 0x41caf7
cmp ecx, dword [esp + 0x10]
je 0x41caf7
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
movzx edx, bl
test bl, bl
jns 0x41ccb0
mov edi, ecx
mov ecx, dword [esp + 0x10]
cmp esi, ecx
je 0x41cd42
mov ecx, edi
movzx edi, byte [edi + 1]
add ecx, 2
and edi, 0x3f
mov esi, dword [esp + 0x1c]
and edx, 0x1f
cmp bl, 0xdf
jbe 0x41cd50
mov esi, dword [esp + 0x10]
cmp ecx, esi
je 0x41cd5a
movzx esi, byte [ecx]
inc ecx
and esi, 0x3f
shl edi, 6
or edi, esi
cmp bl, 0xf0
jb 0x41cd68
cmp ecx, dword [esp + 0x10]
je 0x41cd76
movzx ebx, byte [ecx]
inc ecx
and ebx, 0x3f
jmp 0x41cd78
xor edi, edi
mov esi, dword [esp + 0x1c]
and edx, 0x1f
cmp bl, 0xdf
ja 0x41cd1a
shl edx, 6
or edx, edi
jmp 0x41ccb6
mov ecx, esi
xor esi, esi
shl edi, 6
or edi, esi
cmp bl, 0xf0
jae 0x41cd33
mov esi, dword [esp + 0x1c]
shl edx, 0xc
or edx, edi
jmp 0x41ccb6
xor ebx, ebx
and edx, 7
mov esi, dword [esp + 0x1c]
shl edi, 6
shl edx, 0x12
or edi, edx
or edi, ebx
cmp edi, 0x110000
mov edx, edi
jne 0x41ccb6
jmp 0x41caf7
test eax, eax
jne 0x41cdc5
mov eax, dword [esp + 0x24]
mov edi, edx
inc eax
cmp edx, 0x45
jne 0x41cc99
jmp 0x41cf2f
shl edx, 6
add edx, dword [esp + 0xc]
nop dword [eax]
dec eax
mov ecx, edi
je 0x41cda0
cmp ecx, dword [esp + 0x10]
je 0x41caf7
movzx ebx, byte [ecx]
lea edi, [ecx + 1]
movzx edx, bl
test bl, bl
jns 0x41cdc0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
cmp edi, ecx
je 0x41ce08
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi + 1]
add edi, 2
and ecx, 0x3f
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
and edx, 0x1f
cmp bl, 0xdf
jbe 0x41cdb5
jmp 0x41ce1a
mov dword [esp + 0xc], 0
mov edi, ecx
and edx, 0x1f
cmp bl, 0xdf
jbe 0x41cdb5
cmp edi, ecx
je 0x41ce2b
movzx ecx, byte [edi]
inc edi
and ecx, 0x3f
mov dword [esp + 0x20], ecx
jmp 0x41ce35
mov dword [esp + 0x20], 0
mov edi, ecx
mov ecx, dword [esp + 0xc]
shl ecx, 6
add ecx, dword [esp + 0x20]
cmp bl, 0xf0
jb 0x41ce56
cmp edi, dword [esp + 0x10]
mov ebx, ecx
je 0x41ce60
movzx ecx, byte [edi]
inc edi
and ecx, 0x3f
jmp 0x41ce62
shl edx, 0xc
or edx, ecx
jmp 0x41cdc0
xor ecx, ecx
and edx, 7
shl ebx, 6
shl edx, 0x12
or ebx, edx
or ebx, ecx
cmp ebx, 0x110000
mov edx, ebx
jne 0x41cdc0
jmp 0x41caf7
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ebx
cmp edx, eax
jbe 0x41ceba
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx + eax]
add cl, 0xbf
cmp cl, 0x19
ja 0x41ceba
lea ecx, [esp + 0x30]
call fcn.00418a30
test al, al
jne 0x41cc17
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov ebx, edx
test eax, eax
mov dword [esp + 0x14], ecx
mov ecx, ebx
je 0x41cee4
cmp ecx, eax
je 0x41cee4
jbe 0x41d1fb
mov edx, dword [esp + 0x14]
mov ecx, ebx
cmp byte [edx + eax], 0xbf
jle 0x41d1fb
add dword [esp + 0x14], eax
sub ecx, eax
mov dword [esp + 4], 1
jmp 0x41cf3f
shl edi, 6
jmp 0x41cf16
mov dword [esp + 4], 0
mov ebx, ecx
shl eax, 6
add eax, dword [esp + 4]
cmp dl, 0xf0
jae 0x41cc7d
shl edi, 0xc
mov ecx, dword [esp + 0x14]
or edi, eax
cmp edi, 0x45
mov dword [esp + 4], 0
jne 0x41caeb
xor eax, eax
mov edx, ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x14], edx
sub ecx, edx
mov ebx, dword [esp + 8]
test ecx, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 8], ebx
je 0x41d091
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], str._for______as_::shimclosure:__dyn_____mut_const__unsafe_extern__
cmp byte [eax], 0x2e
jne 0x41d09b
mov dword [esp + 0x18], edi
lea edx, [eax + ecx]
mov bl, 0x2e
mov edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edx
lea eax, [edi + 1]
test bl, bl
jns 0x41d030
jmp 0x41cf9f
mov bl, byte [eax]
mov edi, eax
lea eax, [edi + 1]
test bl, bl
jns 0x41d030
mov bh, bl
and bh, 0x1f
cmp eax, edx
je 0x41cfe6
movzx edx, byte [edi + 1]
add edi, 2
mov eax, edi
and edx, 0x3f
movzx edi, bh
cmp bl, 0xdf
jbe 0x41cff2
mov ecx, dword [esp + 0x20]
cmp eax, ecx
je 0x41cff9
movzx esi, byte [eax]
inc eax
and esi, 0x3f
shl edx, 6
or edx, esi
cmp bl, 0xf0
jb 0x41d007
mov ecx, dword [esp + 0x20]
cmp eax, ecx
je 0x41d00e
movzx ebx, byte [eax]
inc eax
and ebx, 0x3f
jmp 0x41d012
mov eax, edx
xor edx, edx
movzx edi, bh
cmp bl, 0xdf
ja 0x41cfbc
shl edi, 6
or edx, edi
jmp 0x41d033
xor esi, esi
mov eax, ecx
shl edx, 6
or edx, esi
cmp bl, 0xf0
jae 0x41cfd5
shl edi, 0xc
or edx, edi
jmp 0x41d033
xor ebx, ebx
mov eax, ecx
and edi, 7
shl edx, 6
shl edi, 0x12
or edx, edi
or edx, ebx
cmp edx, 0x110000
jne 0x41d033
jmp 0x41d12f
movzx edx, bl
mov edi, dword [esp + 0x18]
lea esi, [edx - 0x21]
cmp esi, 0xf
jb 0x41d070
lea esi, [edx - 0x30]
cmp esi, 0xa
jb 0x41d070
mov esi, edx
and esi, 0xffffffdf
add esi, 0xffffffbf
cmp esi, 0x1a
jb 0x41d070
lea esi, [edx - 0x3a]
cmp esi, 7
jb 0x41d070
lea esi, [edx - 0x5b]
cmp esi, 6
jb 0x41d070
add edx, 0xffffff85
cmp edx, 3
ja 0x41d0f3
mov edx, dword [esp + 0x20]
cmp eax, edx
jne 0x41cf90
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
jmp 0x41d0a8
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
jmp 0x41d0a3
mov dword [esp + 4], 2
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 4]
mov dword [eax], ebx
mov ebx, dword [esp + 8]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov edi, dword [esp + 0x24]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], esi
mov esi, dword [esp + 0xc]
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x4c], edi
mov dword [esp + 0x4c], ebx
mov ecx, dword [ebp + 0xc]
cmp esi, 3
jb 0x41c8ba
jmp 0x41c9e0
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1c]
mov dword [esp + 4], 2
jmp 0x41d0a6
mov ecx, dword [esp + 0x14]
xor edx, edx
and edi, 7
shl eax, 6
shl edi, 0x12
or eax, edi
or eax, edx
mov edi, eax
cmp edi, 0x45
mov dword [esp + 4], 0
jne 0x41caeb
jmp 0x41cf2d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], eax
jmp 0x41d0a8
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 4]
add ecx, esi
cmp ecx, eax
cmovb ecx, eax
push 0x464adc
push eax
jmp 0x41d16b
push 0x464aec
push dword [esp + 0xc]
push ecx
jmp 0x41d1ac
push 0x464b74
push edi
push ecx
push edi
push dword [esp + 0x14]
call fcn.004148f0
add esp, 0x14
ud2
add edx, dword [esp + 0x28]
mov eax, dword [esp + 4]
cmp edx, eax
cmovb edx, eax
push 0x464adc
push eax
push edx
jmp 0x41d1ac
push 0x464afc
push ebx
jmp 0x41d1ab
push 0x464afc
push dword [esp + 8]
push eax
call fcn.00410d00
add esp, 0xc
ud2
push 0x464fc8
push esi
push ecx
push esi
push dword [ebp + 0xc]
call fcn.004148f0
add esp, 0x14
ud2
push 0x464fd8
push esi
push 0
push eax
jmp 0x41d1f0
push 0x464dc0
jmp 0x41d1ec
push 0x464dd0
push esi
push 1
jmp 0x41d1ef
push 0x464c14
push esi
push 2
push esi
push ecx
call fcn.004148f0
add esp, 0x14
ud2
push 0x464df4
push ecx
push eax
push ecx
push dword [esp + 0x24]
call fcn.004148f0
add esp, 0x14
ud2
push 0x464de4
jmp 0x41ca70