Function at 0x61ccfca0
Capabilities:
Link many functions at runtime
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov r14, rcx
mov r13, rdx
mov ecx, 1
mov edx, 0x98
call sub.msvcrt.dll_calloc
test rax, rax
mov rbx, rax
je 0x61ccff10
mov r12, qword [sym.imp.msvcrt.dll__errno]
call r12
lea rcx, str.WINICONV_LIBICONV_DLL
mov dword [rax], 0
call sub.msvcrt.dll_getenv
mov rsi, rax
test rax, rax
lea rax, [0x61cdccc4]
mov r15, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmove rsi, rax
movzx eax, byte [rsi]
test al, al
je 0x61ccfdec
mov edx, 0x2c
mov rcx, rsi
call sub.msvcrt.dll_strchr
cmp rsi, rax
mov rdi, rax
je 0x61ccfef2
test rax, rax
je 0x61ccff56
mov rdx, rdi
mov rcx, rsi
sub rdx, rsi
call fcn.61cce3d0
test rax, rax
mov rsi, rax
je 0x61ccfdec
mov rcx, rax
call r15
mov rcx, rsi
mov rbp, rax
call sub.msvcrt.dll_free
test rbp, rbp
je 0x61ccfeef
cmp rbp, qword [0x61ce0330]
je 0x61ccff67
mov eax, ebp
movsxd rdx, dword [rax + 0x3c]
mov r10d, dword [rax + rdx + 0x90]
test r10d, r10d
je 0x61ccfde3
add r10, rax
mov edx, ebp
mov r9d, 7
mov ecx, dword [r10]
test ecx, ecx
je 0x61ccfde3
add ecx, edx
mov r8, qword [ecx]
mov eax, ecx
test r8, r8
je 0x61ccfdd8
add rax, 8
nop dword [rax]
test r8, r8
js 0x61ccfdcb
lea esi, [rdx + r8]
lea rdi, str._errno
mov rcx, r9
add rsi, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x61ccfe30
add rax, 8
mov r8, qword [rax - 8]
test r8, r8
jne 0x61ccfdb0
add r10, 0x14
mov ecx, dword [r10]
test ecx, ecx
jne 0x61ccfd98
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
call r12
lea rdx, [rbx + 0x20]
mov dword [rax], 0
mov rcx, r13
call fcn.61ccf780
test eax, eax
jne 0x61ccff20
mov rcx, rbx
mov rbx, 0xffffffffffffffff
call sub.msvcrt.dll_free
mov rax, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, edx
add ecx, dword [r10 + 0xc]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
mov rdi, rax
je 0x61ccfde3
lea rdx, str.libiconv_open
mov rcx, rbp
mov rsi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rsi
test rax, rax
mov r15, rax
je 0x61ccff90
lea rdx, str.libiconv_close
mov rcx, rbp
call rsi
test rax, rax
mov qword [rbx + 8], rax
je 0x61ccffa4
lea rdx, str.libiconv
mov rcx, rbp
call rsi
test rax, rax
mov qword [rbx + 0x10], rax
je 0x61ccff7b
lea rdx, str._errno
mov rcx, rdi
call rsi
test r15, r15
mov qword [rbx + 0x18], rax
je 0x61ccfde3
cmp qword [rbx + 8], 0
je 0x61ccfde3
cmp qword [rbx + 0x10], 0
je 0x61ccfde3
test rax, rax
je 0x61ccfde3
mov rdx, r13
mov rcx, r14
call r15
cmp rax, 0xffffffffffffffff
mov qword [rbx], rax
je 0x61ccfde3
mov qword [rbx + 0x90], rbp
jmp 0x61ccfe18
mov rsi, rdi
movzx eax, byte [rsi]
cmp al, 0x2c
jne 0x61ccfd08
movzx eax, byte [rsi + 1]
add rsi, 1
jmp 0x61ccfd08
mov rbx, 0xffffffffffffffff
jmp 0x61ccfe18
lea rdx, [rbx + 0x58]
mov rcx, r14
call fcn.61ccf780
test eax, eax
je 0x61ccfe09
lea rax, [0x61cce1f0]
lea rdx, [0x61ccf480]
mov qword [rbx + 0x18], r12
mov qword [rbx], rbx
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rdx
jmp 0x61ccfe18
mov rcx, rsi
call sub.msvcrt.dll_strlen
lea rdi, [rsi + rax]
jmp 0x61ccfd32
mov rcx, rbp
mov rdx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rsi, rdi
call rdx
jmp 0x61ccfef2
lea rdx, str.iconv
mov rcx, rbp
call rsi
mov qword [rbx + 0x10], rax
jmp 0x61ccfe95
lea rdx, str.iconv_open
mov rcx, rbp
call rsi
mov r15, rax
jmp 0x61ccfe63
lea rdx, str.iconv_close
mov rcx, rbp
call rsi
mov qword [rbx + 8], rax
jmp 0x61ccfe7c