Function at 0x50d079
Capabilities:
Query environment variable

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov eax, dword [0x00522298]
cmp eax, 0
je 0x50d08d
jmp 0x50d7a8
movabs rax, 0x10000
mov qword [rbp - 8], rax
movabs rax, 0
mov qword [rbp - 0x10], rax
lea rax, [0x0055d71f]
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 0x50d0ed
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 0x50d127
mov rax, qword [rbp - 0x10]
mov ecx, 0xfa0
mov r11, rcx
lea rcx, [0x005252a0]
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
mov rdx, r11
mov r11, qword [rbp - 0x20]
call r11
jmp 0x50d139
lea rax, [0x005252a0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
lea rax, [0x005255a0]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_InitializeCriticalSection
call fcn.0050f021
call fcn.0050f39b
lea rax, str.GC_PRINT_VERBOSE_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d181
mov eax, 2
mov dword [0x0052224c], eax
jmp 0x50d1a8
lea rax, str.GC_PRINT_STATS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d1a8
mov eax, 1
mov dword [0x0052224c], eax
lea rax, str.GC_DUMP_REGULARLY
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d1cf
mov eax, 1
mov dword [0x00522254], eax
lea rax, str.GC_FIND_LEAK
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d1f6
mov eax, 1
mov dword [0x00522258], eax
lea rax, str.GC_FINDLEAK_DELAY_FREE
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d21d
mov eax, 1
mov dword [0x0052225c], eax
lea rax, str.GC_ALL_INTERIOR_POINTERS
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d244
mov eax, 1
mov dword [0x00522260], eax
lea rax, str.GC_DONT_GC
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d26b
mov eax, 1
mov dword [0x00522240], eax
lea rax, str.GC_PRINT_BACK_HEIGHT
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d292
mov eax, 1
mov dword [0x00522250], eax
lea rax, str.GC_NO_BLACKLIST_WARNING
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d2b9
mov eax, 0x7fffffff
mov dword [0x0052227c], 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 0x50d30c
mov rax, qword [fcn.0050df3a]
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 0x50d357
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 0x50d357
mov eax, dword [rbp - 0x34]
mov dword [0x00521c78], 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 0x50d3a2
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 0x50d3a2
mov eax, dword [rbp - 0x44]
mov dword [0x00521c50], 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 0x50d421
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 0x50d418
mov rax, qword [fcn.0050df3a]
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 0x50d421
mov eax, dword [rbp - 0x54]
mov dword [0x0052227c], 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 0x50d46d
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 0x50d46d
mov eax, dword [rbp - 0x64]
mov qword [0x00521c70], rax
call sub.kernel32.dll_GetTickCount
mov dword [0x0054fab8], eax
mov eax, dword [0x00522260]
movsxd rax, eax
cmp rax, 0
je 0x50d49c
movabs rax, 0xfffffffffffffff8
mov qword [0x00521ed0], rax
lea rax, [0x0054fab8]
mov r11, rax
lea rax, [0x005256e8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00508c4e
lea rax, [0x005220a0]
mov r11, rax
lea rax, [0x00521ea0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00508c4e
mov rax, qword [0x00522238]
cmp rax, 0
jne 0x50d4fc
call fcn.0050f1c4
mov qword [0x00522238], rax
jmp 0x50d4fc
call fcn.004f6bbd
mov eax, dword [0x00521c44]
cmp eax, 0
jne 0x50d52c
lea rax, str.GC_ENABLE_INCREMENTAL
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_getenv
cmp rax, 0
je 0x50d561
mov eax, dword [0x005222a0]
cmp eax, 0
je 0x50d556
mov eax, 1
mov dword [0x00522308], eax
mov eax, 1
mov dword [0x00521c44], eax
jmp 0x50d561
call fcn.0050fcdb
mov dword [0x00521c44], eax
call fcn.0050f9c5
call fcn.004f5ac0
call fcn.0050692d
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 0x50d5e1
mov rax, qword [rbp - 0x70]
mov r10, rax
mov rcx, r10
call fcn.0050cf52
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10000
ja 0x50d5e1
mov rax, qword [fcn.0050df3a]
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 0x50d683
mov rax, qword [rbp - 0x78]
mov r10, rax
mov rcx, r10
call fcn.0050cf52
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rbp - 8]
cmp rax, rcx
jae 0x50d652
mov rax, qword [fcn.0050df3a]
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 [0x00521d20]
cmp rax, 0
jne 0x50d674
movabs rax, 2
mov qword [0x00521d20], rax
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call fcn.004fc8e9
mov rax, qword [rbp - 8]
shr rax, 0xc
mov r10, rax
mov rcx, r10
call fcn.004fca21
cmp eax, 0
jne 0x50d6db
lea rax, str.Cant_start_up:_not_enough_memory_n
mov r10, rax
mov rcx, r10
call fcn.0050dd8c
movabs rax, 0
mov r10, rax
mov rcx, r10
mov r11, qword [0x005222b8]
call r11
mov eax, 1
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_exit
mov rax, qword [0x005256f0]
mov rcx, qword [rbp - 8]
add rax, rcx
mov qword [0x005256f0], rax
mov eax, dword [0x00522260]
cmp eax, 0
je 0x50d704
call fcn.004f80e3
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.004f7eb4
call fcn.0050c45c
mov eax, 1
mov dword [0x00522298], eax
call fcn.0051279a
mov eax, dword [0x00522254]
cmp eax, 0
je 0x50d757
movabs rax, 0
mov r10, rax
mov rcx, r10
call fcn.0050e770
jmp 0x50d757
mov eax, dword [0x00522244]
cmp eax, 0
je 0x50d775
mov eax, dword [0x00521c44]
cmp eax, 0
je 0x50d787
lea rax, [0x004fa786]
mov r10, rax
mov rcx, r10
call fcn.004fafe4
mov eax, dword [0x00522258]
cmp eax, 0
je 0x50d7a8
lea rax, [0x0050ce9a]
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_atexit
leave
ret