Function at 0x5005b9
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov eax, dword [0x00510610]
cmp eax, 0
je 0x5005cd
jmp 0x500ce8
movabs rax, 0x10000
mov qword [rbp - 8], rax
movabs rax, 0
mov qword [rbp - 0x10], rax
lea rax, [0x0054971f]
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 0x50062d
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 0x500667
mov rax, qword [rbp - 0x10]
mov ecx, 0xfa0
mov r11, rcx
lea rcx, [0x00512a30]
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
jmp 0x500679
lea rax, [0x00512a30]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
lea rax, [0x00512d30]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
call fcn.00502561
call fcn.005028db
lea rax, str.GC_PRINT_VERBOSE_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x5006c1
mov eax, 2
mov dword [0x005105c4], eax
jmp 0x5006e8
lea rax, str.GC_PRINT_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x5006e8
mov eax, 1
mov dword [0x005105c4], eax
lea rax, str.GC_DUMP_REGULARLY
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50070f
mov eax, 1
mov dword [0x005105cc], eax
lea rax, str.GC_FIND_LEAK
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x500736
mov eax, 1
mov dword [0x005105d0], eax
lea rax, str.GC_FINDLEAK_DELAY_FREE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50075d
mov eax, 1
mov dword [0x005105d4], eax
lea rax, str.GC_ALL_INTERIOR_POINTERS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x500784
mov eax, 1
mov dword [0x005105d8], eax
lea rax, str.GC_DONT_GC
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x5007ab
mov eax, 1
mov dword [0x005105b8], eax
lea rax, str.GC_PRINT_BACK_HEIGHT
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x5007d2
mov eax, 1
mov dword [0x005105c8], eax
lea rax, str.GC_NO_BLACKLIST_WARNING
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x5007f9
mov eax, 0x7fffffff
mov dword [0x005105f4], 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 0x50084c
mov rax, qword [fcn.0050147a]
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 0x500897
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 0x500897
mov eax, dword [rbp - 0x34]
mov dword [0x0050fff0], 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 0x5008e2
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 0x5008e2
mov eax, dword [rbp - 0x44]
mov dword [0x0050ffc8], 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 0x500961
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 0x500958
mov rax, qword [fcn.0050147a]
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 0x500961
mov eax, dword [rbp - 0x54]
mov dword [0x005105f4], 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 0x5009ad
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 0x5009ad
mov eax, dword [rbp - 0x64]
mov qword [0x0050ffe8], rax
call sub.kernel32.dll_GetTickCount
mov dword [0x0053d248], eax
mov eax, dword [0x005105d8]
movsxd rax, eax
cmp rax, 0
je 0x5009dc
movabs rax, 0xfffffffffffffff8
mov qword [0x00510248], rax
lea rax, [0x0053d248]
mov r11, rax
lea rax, [0x00512e78]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004fc18e
lea rax, [0x00510418]
mov r11, rax
lea rax, [0x00510218]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004fc18e
mov rax, qword [0x005105b0]
cmp rax, 0
jne 0x500a3c
call fcn.00502704
mov qword [0x005105b0], rax
jmp 0x500a3c
call fcn.004ea0fd
mov eax, dword [0x0050ffbc]
cmp eax, 0
jne 0x500a6c
lea rax, str.GC_ENABLE_INCREMENTAL
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x500aa1
mov eax, dword [0x00510618]
cmp eax, 0
je 0x500a96
mov eax, 1
mov dword [0x00510680], eax
mov eax, 1
mov dword [0x0050ffbc], eax
jmp 0x500aa1
call fcn.0050321b
mov dword [0x0050ffbc], eax
call fcn.00502f05
call fcn.004e9000
call fcn.004f9e6d
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 0x500b21
mov rax, qword [rbp - 0x70]
mov r10, rax
mov rcx, r10
call fcn.00500492
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10000
ja 0x500b21
mov rax, qword [fcn.0050147a]
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 0x500bc3
mov rax, qword [rbp - 0x78]
mov r10, rax
mov rcx, r10
call fcn.00500492
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jae 0x500b92
mov rax, qword [fcn.0050147a]
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 [0x00510098]
cmp rax, 0
jne 0x500bb4
movabs rax, 2
mov qword [0x00510098], rax
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call fcn.004efe29
mov rax, qword [rbp - 8]
shr rax, 0xc
mov r10, rax
mov rcx, r10
call fcn.004eff61
cmp eax, 0
jne 0x500c1b
lea rax, str.Cant_start_up:_not_enough_memory_n
mov r10, rax
mov rcx, r10
call fcn.005012cc
movabs rax, 0
mov r10, rax
mov rcx, r10
mov r11, qword [0x00510630]
call r11
mov eax, 1
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_exit
mov rax, qword [0x00512e80]
mov rcx, qword [rbp - 8]
add rax, rcx
mov qword [0x00512e80], rax
mov eax, dword [0x005105d8]
cmp eax, 0
je 0x500c44
call fcn.004eb623
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.004eb3f4
call fcn.004ff99c
mov eax, 1
mov dword [0x00510610], eax
call fcn.00505cda
mov eax, dword [0x005105cc]
cmp eax, 0
je 0x500c97
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.00501cb0
jmp 0x500c97
mov eax, dword [0x005105bc]
cmp eax, 0
je 0x500cb5
mov eax, dword [0x0050ffbc]
cmp eax, 0
je 0x500cc7
lea rax, [0x004edcc6]
mov r10, rax
mov rcx, r10
call fcn.004ee524
mov eax, dword [0x005105d0]
cmp eax, 0
je 0x500ce8
lea rax, [0x005003da]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atexit
leave
ret