Function at 0x1779740
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmm2, xmmword [r8 + 0x20]
movdqu xmm3, xmmword [r8 + 0x30]
movaps xmmword [0x024a6680], xmm0
movdqu xmm4, xmmword [r8 + 0x40]
movdqu xmm5, xmmword [r8 + 0x50]
movdqu xmm0, xmmword [r8 + 0x60]
movaps xmmword [0x024a6690], xmm1
mov r12, rcx
movaps xmmword [0x024a66a0], xmm2
mov r13, rdx
movaps xmmword [0x024a66b0], xmm3
movaps xmmword [0x024a66c0], xmm4
movaps xmmword [0x024a66d0], xmm5
movaps xmmword [0x024a66e0], xmm0
mov rcx, qword [rdx]
call fcn.01777d90
mov r14d, dword [r12]
cmp r14d, 1
jle 0x17797ca
mov dword [r12], 1
lea ecx, [r14 + 1]
lea rdx, str.setupRtsFlags
mov dword [0x024a6708], 0
mov dword [0x024a66fc], ecx
movsxd rcx, ecx
shl rcx, 3
call fcn.0177b3b0
mov esi, dword [0x024a6708]
mov rcx, qword [0x024a6690]
mov qword [0x024a6700], rax
mov dword [rsp + 0x20], esi
test rcx, rcx
je 0x1779829
call fcn.01777bf0
mov edx, 4
mov ecx, esi
call fcn.01777ee0
mov eax, dword [0x024a6708]
mov dword [rsp + 0x20], eax
cmp dword [0x024a6680], 2
mov eax, 1
jne 0x1779b60
cmp r14d, eax
jbe 0x177987d
sub r14d, 1
mov ecx, eax
sub r14d, eax
lea rdx, [r13 + rcx*8]
add r14, rcx
lea r8, [r13 + r14*8 + 8]
nop word cs:[rax + rax]
movsxd rax, dword [r12]
add rdx, 8
lea ecx, [rax + 1]
mov dword [r12], ecx
mov rcx, qword [rdx - 8]
mov qword [r13 + rax*8], rcx
cmp r8, rdx
jne 0x1779860
movsxd rax, dword [r12]
mov ecx, dword [rsp + 0x20]
mov qword [r13 + rax*8], 0
mov edx, dword [0x024a6680]
call fcn.01777ee0
xor ecx, ecx
call fcn.01777b80
mov rdx, qword [0x024a6808]
sub dword [0x024a6708], 1
test rdx, rdx
js 0x1779a70
jne 0x1779a80
mov qword [0x024a67f8], 0
mov qword [0x024a67b0], 0
mov qword [0x024a6860], 0
mov dword [0x024a6800], 0
xor eax, eax
nop word [rax + rax]
mov rdx, qword [0x024a68c0]
mov dword [0x024a6868], eax
xor eax, eax
test rdx, rdx
jle 0x1779910
mov rax, rdx
cqo
idiv qword [0x024a6808]
mov dword [0x024a68c8], eax
mov eax, dword [0x024a6754]
shr eax, 1
cmp dword [0x024a6758], eax
ja 0x1779de7
mov edx, dword [0x024a675c]
mov eax, dword [0x024a6760]
test edx, edx
je 0x1779954
mov ecx, dword [0x024a6770]
cmp edx, ecx
jae 0x177994c
mov dword [0x024a675c], ecx
mov edx, ecx
cmp edx, eax
jb 0x1779da0
cmp eax, 0xfff
ja 0x1779b40
cmp dword [0x024a6908], 0xffffffff
jne 0x177997e
shl rax, 0xc
cmp rax, 0x2000000
setb al
movzx eax, al
mov dword [0x024a6908], eax
cmp byte [0x024a6812], 0
je 0x177998e
mov byte [0x024a6811], 1
cmp byte [0x024a6790], 0
jne 0x1779b08
mov eax, dword [0x024a6858]
test eax, eax
je 0x17799b2
cmp byte [0x024a67a8], 0
jne 0x1779b32
cmp byte [0x024a68ba], 0
je 0x17799c8
cmp byte [0x024a68e0], 0
jne 0x1779e0e
mov ecx, dword [r12]
mov rdx, r13
call fcn.017796c0
mov r12, qword [0x024a6740]
test r12, r12
je 0x1779cc0
mov ecx, dword [0x024a6730]
xor ebx, ebx
test ecx, ecx
jle 0x1779a0f
mov rax, qword [0x024a6728]
mov rcx, r12
mov rdx, qword [rax + rbx*8]
add rbx, 1
call fcn.01777d00
cmp dword [0x024a6730], ebx
jg 0x17799f0
lea rdx, str.RTS
mov rcx, r12
xor ebx, ebx
call fcn.01777cb0
mov edx, dword [0x024a6708]
test edx, edx
jle 0x1779a4f
nop word [rax + rax]
mov rax, qword [0x024a6700]
mov rcx, r12
mov rdx, qword [rax + rbx*8]
add rbx, 1
call fcn.01777d00
cmp dword [0x024a6708], ebx
jg 0x1779a30
lea rdx, [0x0245bda8]
mov rcx, r12
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.01777cb0
mov qword [0x024a6808], 0x989680
mov edx, 0x989680
mov rax, qword [0x024a67f8]
mov r8, qword [0x024a67b0]
mov rcx, qword [0x024a6860]
test rax, rax
jle 0x1779aa8
cmp rax, rdx
cmovle rdx, rax
mov qword [0x024a6808], rdx
test r8, r8
jle 0x1779ac3
cmp qword [0x024a6808], r8
cmovle r8, qword [0x024a6808]
mov qword [0x024a6808], r8
test rcx, rcx
jle 0x1779d50
cmp qword [0x024a6808], rcx
mov r8, rcx
cmovle r8, qword [0x024a6808]
mov qword [0x024a6808], r8
test rax, rax
jle 0x1779b50
cqo
idiv r8
mov dword [0x024a6800], eax
mov rax, rcx
cqo
idiv r8
jmp 0x17798f0
cmp dword [0x024a6794], 1
je 0x1779ddb
mov r8d, dword [0x024a6858]
test r8d, r8d
je 0x1779d30
cmp byte [0x024a67a8], 0
je 0x1779e02
lea rcx, str.The_mark_region_collector_can_only_be_used_with_profiling_nwhen_linked_against_the_profiled_RTS.
call fcn.0177a800
nop
mov dword [0x024a6768], 0x400
jmp 0x177995f
mov dword [0x024a6800], 0
jmp 0x1779af5
lea rcx, str.GHCRTS
call sub.msvcrt.dll_getenv
test rax, rax
je 0x1779ba7
mov r9d, dword [0x024a6680]
test r9d, r9d
jne 0x1779d70
cmp qword [0x024a6698], 0
lea rdx, str.Link_with__rtsopts_to_enable_them.
lea rax, str.Use_hs_init_with_rtsopts___to_enable_them.
cmove rdx, rax
lea rcx, str.Warning:_Ignoring_GHCRTS_variable_as_RTS_options_are_disabled._n__________s
call fcn.0177a870
mov eax, dword [0x024a6680]
sub eax, 1
cmp eax, 1
jbe 0x1779df8
cmp r14d, 1
jbe 0x177987d
xor r10d, r10d
mov eax, r14d
mov r11d, r14d
mov ebx, 1
mov r14d, r10d
mov r15d, 0x2d
mov r10d, eax
lea r8, str.__RTS
lea r9, [0x0245bb81]
jmp 0x1779c3d
mov ecx, 5
lea rsi, str._RTS
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x1779ca8
cmp r14d, 1
je 0x1779cd8
movsxd rax, dword [r12]
lea edx, [rax + 1]
mov dword [r12], edx
mov rdx, qword [r13 + rbx*8]
mov qword [r13 + rax*8], rdx
nop dword [rax]
add rbx, 1
cmp r11, rbx
je 0x177987d
mov rbp, qword [r13 + rbx*8]
mov ecx, 6
mov rsi, r8
mov eax, ebx
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
seta dl
sbb dl, 0
test dl, dl
je 0x1779dd0
movzx edx, byte [rbp]
cmp r15d, edx
jne 0x1779c80
movzx edx, byte [rbp + 1]
cmp r15d, edx
jne 0x1779c80
cmp byte [rbp + 2], 0
je 0x1779cb0
nop word [rax + rax]
mov ecx, 5
mov rsi, r9
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x1779bf0
mov r14d, 1
jmp 0x1779c30
xor r14d, r14d
jmp 0x1779c30
mov r14d, r10d
jmp 0x177983b
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbp
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x24], r10d
call sub.msvcrt.dll_strlen
lea rdx, str.copyArg
lea rcx, [rax + 1]
call fcn.0177b3b0
mov rdx, rbp
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rax
call fcn.01777b80
mov r10d, dword [rsp + 0x24]
mov r11, qword [rsp + 0x28]
lea r8, str.__RTS
lea r9, [0x0245bb81]
jmp 0x1779c30
cmp byte [0x024a6799], 0
je 0x17799b2
lea rcx, str.The_non_moving_collector_cannot_be_used_in_conjunction_with_nthe_compacting_collector.
call fcn.0177a870
call fcn.01777980
nop
test rax, rax
jle 0x17798de
cqo
idiv qword [0x024a6808]
mov dword [0x024a6800], eax
xor eax, eax
jmp 0x17798f0
mov rcx, rax
call fcn.01777bf0
mov edx, dword [0x024a6680]
mov ecx, dword [rsp + 0x20]
call fcn.01777ee0
mov eax, dword [0x024a6708]
mov dword [rsp + 0x20], eax
jmp 0x1779ba7
lea rcx, str.maximum_heap_size___M__is_smaller_than_minimum_alloc_area_size___A_
call fcn.0177a870
mov eax, dword [0x024a675c]
mov dword [0x024a6760], eax
cmp eax, 0xfff
jbe 0x177995f
jmp 0x1779b40
mov r14d, r10d
add eax, 1
jmp 0x177983b
lea rcx, str.The_non_moving_collector_doesnt_support__G1
call fcn.0177a800
lea rcx, str.stack_chunk_buffer_size___kb__must_be_less_than_50___nof_the_stack_chunk_size___kc_
call fcn.0177a870
call fcn.01777980
mov eax, 1
jmp 0x177983b
lea rcx, str.The_non_moving_collector_doesnt_support_profiling
call fcn.0177a800
lea rcx, str.The_ticky_ticky_eventlog_output_cannot_be_used_in_conjunction_with_nRTS__r_file_.
call fcn.0177a800
nop
nop dword [rax + rax]