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

Disassembly:
push edi
push esi
sub esp, 0xc8
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x28], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.0046cac0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
and al, 1
mov byte [esp + 0x37], al
mov al, byte [esp + 0x37]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x46cbac
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], 0
lea edx, [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046df10
lea ecx, [esp + 0x3c]
lea eax, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00470f00
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
jmp 0x46cbc5
lea eax, [0x4906ac]
mov dword [esp], eax
call fcn.0047d040
and al, 1
mov byte [esp + 0x36], al
jmp 0x46cd1e
lea eax, [esp + 0x54]
mov dword [esp], eax
call fcn.004722c0
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x64], 0x110000
cmove eax, ecx
cmp eax, 0
jne 0x46cc6a
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xac]
lea eax, [0x49064c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00472640
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0046c560
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
and al, 1
mov byte [esp + 0xab], al
mov al, byte [esp + 0xab]
and al, 1
movzx eax, al
cmp eax, 0
je 0x46ccee
jmp 0x46cd0a
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xbc], ecx
mov byte [esp + 0x74], 1
mov byte [esp + 0x75], 0
mov byte [esp + 0x76], 1
mov al, byte [esp + 0x76]
mov byte [esp + 0xc2], al
mov ax, word [esp + 0x74]
mov word [esp + 0xc0], ax
movzx eax, byte [esp + 0xc2]
shl eax, 0x10
movzx edx, word [esp + 0xc0]
or edx, eax
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esp + 0x68]
mov dword [eax], ecx
call fcn.0046ec90
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.0047c830
cmp eax, 1
je 0x46cbc5
jmp 0x46cd30
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 0x22
call fcn.0046cac0
and al, 1
mov byte [esp + 0x36], al
jmp 0x46cd1e
lea eax, [0x49065c]
mov dword [esp], eax
call fcn.0047d040
and al, 1
mov byte [esp + 0x36], al
mov al, byte [esp + 0x36]
and al, 1
movzx eax, al
add esp, 0xc8
pop esi
pop edi
ret
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
lea eax, [0x49066c]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.004725f0
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0046c560
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
and al, 1
mov byte [esp + 0x77], al
mov al, byte [esp + 0x77]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x46ce0c
mov eax, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x94], eax
lea ecx, [esp + 0x80]
lea eax, [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0047c880
mov eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xa0], eax
jmp 0x46ce25
lea eax, [0x49069c]
mov dword [esp], eax
call fcn.0047d040
and al, 1
mov byte [esp + 0x36], al
jmp 0x46cd1e
lea eax, [esp + 0x98]
mov dword [esp], eax
call fcn.0047c7b0
mov dword [esp + 0xa4], eax
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0xa4], 0x110000
cmove eax, ecx
cmp eax, 0
jne 0x46ce76
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.0046eec0
mov ecx, eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x14], eax
setb al
test al, 1
jne 0x46ced0
jmp 0x46cec3
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc4], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046cac0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.0047cf90
and al, 1
mov byte [esp + 0xaa], al
mov al, byte [esp + 0xaa]
and al, 1
movzx eax, al
cmp eax, 0
je 0x46ce25
jmp 0x46cedd
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], eax
jmp 0x46cbc5
mov eax, esp
mov dword [eax], str._home_hagb_.rustup_toolchains_nightly_2024_04_15_x86_64_unknown_linux_gnu_lib_rustlib_src_rust_library_core_src_fmt_mod.rs
call fcn.00469640
lea eax, [0x49068c]
mov dword [esp], eax
call fcn.0047d040
and al, 1
mov byte [esp + 0x36], al
jmp 0x46cd1e