Function at 0x466321
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov eax, dword [0x004710d0]
cmp eax, 0
je 0x466335
jmp 0x466a50
movabs rax, 0x10000
mov qword [rbp - 8], rax
movabs rax, 0
mov qword [rbp - 0x10], rax
lea rax, [0x004a771f]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_GetModuleHandleA
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x466395
lea rax, str.InitializeCriticalSectionAndSpinCount
mov r11, rax
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_GetProcAddress
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x4663cf
mov rax, qword [rbp - 0x10]
mov ecx, 0xfa0
mov r11, rcx
lea rcx, [0x00472088]
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
jmp 0x4663e1
lea rax, [0x00472088]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
lea rax, [0x00472388]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
call fcn.004682c9
call fcn.00468643
lea rax, str.GC_PRINT_VERBOSE_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466429
mov eax, 2
mov dword [0x00471084], eax
jmp 0x466450
lea rax, str.GC_PRINT_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466450
mov eax, 1
mov dword [0x00471084], eax
lea rax, str.GC_DUMP_REGULARLY
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466477
mov eax, 1
mov dword [0x0047108c], eax
lea rax, str.GC_FIND_LEAK
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x46649e
mov eax, 1
mov dword [0x00471090], eax
lea rax, str.GC_FINDLEAK_DELAY_FREE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x4664c5
mov eax, 1
mov dword [0x00471094], eax
lea rax, str.GC_ALL_INTERIOR_POINTERS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x4664ec
mov eax, 1
mov dword [0x00471098], eax
lea rax, str.GC_DONT_GC
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466513
mov eax, 1
mov dword [0x00471078], eax
lea rax, str.GC_PRINT_BACK_HEIGHT
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x46653a
mov eax, 1
mov dword [0x00471088], eax
lea rax, str.GC_NO_BLACKLIST_WARNING
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466561
mov eax, 0x7fffffff
mov dword [0x004710b4], eax
lea rax, str.GC_TRACE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
cmp rax, 0
je 0x4665b4
mov rax, qword [fcn.004671e2]
movabs rcx, 0
mov r11, rcx
lea rcx, str.GC_Warning:_Tracing_not_enabled:_Ignoring_GC_TRACE_value_n
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
lea rax, str.GC_PAUSE_TIME_TARGET
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
cmp rax, 0
je 0x4665ff
mov rax, qword [rbp - 0x30]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atol
mov dword [rbp - 0x34], eax
mov eax, dword [rbp - 0x34]
cmp eax, 0
jle 0x4665ff
mov eax, dword [rbp - 0x34]
mov dword [0x00470ab0], eax
lea rax, str.GC_FULL_FREQUENCY
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
cmp rax, 0
je 0x46664a
mov rax, qword [rbp - 0x40]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atoi
mov dword [rbp - 0x44], eax
mov eax, dword [rbp - 0x44]
cmp eax, 0
jle 0x46664a
mov eax, dword [rbp - 0x44]
mov dword [0x00470a88], eax
lea rax, str.GC_LARGE_ALLOC_WARN_INTERVAL
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
cmp rax, 0
je 0x4666c9
mov rax, qword [rbp - 0x50]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atol
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x54]
cmp eax, 0
jg 0x4666c0
mov rax, qword [fcn.004671e2]
movabs rcx, 0
mov r11, rcx
lea rcx, str.GC_Warning:_GC_LARGE_ALLOC_WARN_INTERVAL_environment_variable_has_bad_value:_Ignoring_n
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
jmp 0x4666c9
mov eax, dword [rbp - 0x54]
mov dword [0x004710b4], eax
lea rax, str.GC_FREE_SPACE_DIVISOR
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x466715
mov rax, qword [rbp - 0x60]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atoi
mov dword [rbp - 0x64], eax
mov eax, dword [rbp - 0x64]
cmp eax, 0
jle 0x466715
mov eax, dword [rbp - 0x64]
mov qword [0x00470aa8], rax
call sub.kernel32.dll_GetTickCount
mov dword [0x0049c8a0], eax
mov eax, dword [0x00471098]
movsxd rax, eax
cmp rax, 0
je 0x466744
movabs rax, 0xfffffffffffffff8
mov qword [0x00470d08], rax
lea rax, [0x0049c8a0]
mov r11, rax
lea rax, [0x004724d0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00461ef6
lea rax, [0x00470ed8]
mov r11, rax
lea rax, [0x00470cd8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00461ef6
mov rax, qword [0x00471070]
cmp rax, 0
jne 0x4667a4
call fcn.0046846c
mov qword [0x00471070], rax
jmp 0x4667a4
call fcn.0044fe65
mov eax, dword [0x00470a7c]
cmp eax, 0
jne 0x4667d4
lea rax, str.GC_ENABLE_INCREMENTAL
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x466809
mov eax, dword [0x004710d8]
cmp eax, 0
je 0x4667fe
mov eax, 1
mov dword [0x00471140], eax
mov eax, 1
mov dword [0x00470a7c], eax
jmp 0x466809
call fcn.00468f83
mov dword [0x00470a7c], eax
call fcn.00468c6d
call fcn.0044ed68
call fcn.0045fbd5
lea rax, str.GC_INITIAL_HEAP_SIZE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x466889
mov rax, qword [rbp - 0x70]
mov r10, rax
mov rcx, r10
call fcn.004661fa
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10000
ja 0x466889
mov rax, qword [fcn.004671e2]
mov rcx, qword [rbp - 0x70]
mov r11, rcx
lea rcx, str.GC_Warning:_Bad_initial_heap_size__s___ignoring_it._n
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
lea rax, str.GC_MAXIMUM_HEAP_SIZE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
cmp rax, 0
je 0x46692b
mov rax, qword [rbp - 0x78]
mov r10, rax
mov rcx, r10
call fcn.004661fa
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jae 0x4668fa
mov rax, qword [fcn.004671e2]
mov rcx, qword [rbp - 0x78]
mov r11, rcx
lea rcx, str.GC_Warning:_Bad_maximum_heap_size__s___ignoring_it._n
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
mov rax, qword [0x00470b58]
cmp rax, 0
jne 0x46691c
movabs rax, 2
mov qword [0x00470b58], rax
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call fcn.00455b91
mov rax, qword [rbp - 8]
shr rax, 0xc
mov r10, rax
mov rcx, r10
call fcn.00455cc9
cmp eax, 0
jne 0x466983
lea rax, str.Cant_start_up:_not_enough_memory_n
mov r10, rax
mov rcx, r10
call fcn.00467034
movabs rax, 0
mov r10, rax
mov rcx, r10
mov r11, qword [0x004710f0]
call r11
mov eax, 1
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_exit
mov rax, qword [0x004724d8]
mov rcx, qword [rbp - 8]
add rax, rcx
mov qword [0x004724d8], rax
mov eax, dword [0x00471098]
cmp eax, 0
je 0x4669ac
call fcn.0045138b
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.0045115c
call fcn.00465704
mov eax, 1
mov dword [0x004710d0], eax
call fcn.0046ba42
mov eax, dword [0x0047108c]
cmp eax, 0
je 0x4669ff
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.00467a18
jmp 0x4669ff
mov eax, dword [0x0047107c]
cmp eax, 0
je 0x466a1d
mov eax, dword [0x00470a7c]
cmp eax, 0
je 0x466a2f
lea rax, [0x00453a2e]
mov r10, rax
mov rcx, r10
call fcn.0045428c
mov eax, dword [0x00471090]
cmp eax, 0
je 0x466a50
lea rax, [0x00466142]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atexit
leave
ret