Function at 0x452000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x10c
push 0
push 0x44f914
call fcn.004011e0
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x44f918], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x44f914], eax
mov eax, 0x44e196
mov dword [0x44f944], eax
call fcn.004011b8
call fcn.00412f80
call fcn.00412c00
call fcn.004124fe
call fcn.00411f78
call fcn.00411eb0
call fcn.00411dbd
call fcn.004113f0
call fcn.0041088a
call fcn.0041083d
call fcn.0040f820
call fcn.0040f4b2
call fcn.0040f460
call fcn.0040ead6
call fcn.0040e827
call fcn.0040e741
call fcn.0040e0c3
call fcn.0040e07e
call fcn.0040d3fc
call fcn.0040d07c
call fcn.004056d6
call fcn.00402543
call fcn.00401ceb
call fcn.0040133a
push 0x44f9e8
push 0
push 0x15
push 0x100
push 4
call fcn.004123ba
mov dword [0x44f95c], 0x41
jmp 0x4520eb
mov eax, 0x5a
cmp eax, dword [0x44f95c]
jl 0x452117
mov ebx, dword [0x44f95c]
mov ebp, dword [0x44f9e8]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x44f95c]
jno 0x4520eb
mov dword [0x44f95c], 0x61
jmp 0x452123
mov eax, 0x7a
cmp eax, dword [0x44f95c]
jl 0x45214f
mov ebx, dword [0x44f95c]
mov ebp, dword [0x44f9e8]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x44f95c]
jno 0x452123
mov dword [0x44f95c], 0x30
jmp 0x45215b
mov eax, 0x39
cmp eax, dword [0x44f95c]
jl 0x452187
mov ebx, dword [0x44f95c]
mov ebp, dword [0x44f9e8]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x44f95c]
jno 0x45215b
mov ebp, dword [0x44f9e8]
mov dword [ebp + 0x17c], 1
push 8
push 0x44ac80
lea eax, [0x44f9f0]
push eax
push 4
call fcn.0040ea44
push 8
push 0x44ac80
lea eax, [0x44f9f8]
push eax
push 4
call fcn.0040ea44
push 8
push 0x44ac80
lea eax, [0x44fa00]
push eax
push 4
call fcn.0040ea44
push 7
push 0x44ac88
lea eax, [0x44fa08]
push eax
push 0x10
call fcn.0040ea44
push 7
xor eax, eax
push eax
lea eax, [0x44fa10]
push eax
push 4
call fcn.0040ea44
push 7
xor eax, eax
push eax
lea eax, [0x44fa18]
push eax
push 8
call fcn.0040ea44
push dword [0x450efc]
push dword [0x450efc]
call fcn.0041102e
lea eax, [0x44f9dc]
push eax
call fcn.00412ff0
push dword [0x450efc]
push dword [0x450efc]
call fcn.00411294
lea eax, [0x44f9a0]
push eax
call fcn.00412ff0
call fcn.00401c35
mov dword [0x44f9c8], eax
mov ebx, dword [0x44f9c8]
and ebx, ebx
jne 0x45228d
call fcn.00459a9a
jmp 0x452b0e
mov edx, 0x44702e
lea ecx, [0x44f964]
call fcn.00401178
mov edx, 0x44702e
lea ecx, [0x44f988]
call fcn.00401178
mov edx, 0x44702e
lea ecx, [0x44f994]
call fcn.00401178
mov dword [0x44f934], 0
mov dword [0x44f9bc], 0
mov dword [0x44f984], 0
mov dword [0x44f970], 0
mov dword [0x44f958], 0
jmp 0x4522f1
mov ebx, dword [0x44f9c8]
dec ebx
cmp ebx, dword [0x44f958]
jl 0x452ac9
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f958]
call fcn.00401bc9
lea eax, [0x44f9a4]
push eax
call fcn.00412ff0
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f9a4]
call fcn.00410630
add dword [0x450efc], 2
mov edx, str._COMPILER
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x45236f
mov edx, 0x44a6ca
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._GUI
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x452399
mov edx, 0x44a6dc
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._VERBOSE
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x4523c3
mov edx, 0x44a7a4
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, 0x44aa84
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x4523ed
mov edx, 0x44a6e2
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._HELP
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x452417
mov edx, 0x44a6e2
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._VERSION
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x452441
mov edx, str.__version
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._IGNORE
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x45246b
mov edx, 0x44a700
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._REPORT
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x452492
mov edx, 0x44a79e
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._FILES
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x4524b9
mov edx, 0x44a6d6
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._QUIET
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x4524e0
mov edx, 0x44a774
lea ecx, [0x44f9a4]
call fcn.00401178
jmp 0x452505
mov edx, str._DEBUG
mov ecx, dword [esp]
add ecx, dword [0x44efbc]
call fcn.00401180
je 0x452505
mov edx, 0x44a6d0
lea ecx, [0x44f9a4]
call fcn.00401178
pop dword [0x450efc]
push dword [0x44f9a4]
mov edx, 0x44a6ca
mov ecx, dword [esp]
call fcn.00401180
jne 0x45252f
mov edx, 0x447730
mov ecx, dword [esp]
call fcn.00401180
je 0x452564
mov ebx, dword [0x44f958]
inc ebx
mov dword [0x44f958], ebx
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f958]
call fcn.00401bc9
lea eax, [0x44f964]
push eax
call fcn.00412ff0
jmp 0x452abc
mov edx, 0x44a6dc
mov ecx, dword [esp]
call fcn.00401180
jne 0x452582
mov edx, str.__gui
mov ecx, dword [esp]
call fcn.00401180
je 0x452591
mov dword [0x44f934], 1
jmp 0x452abc
mov edx, 0x44a7a4
mov ecx, dword [esp]
call fcn.00401180
jne 0x4525af
mov edx, str.__verbose
mov ecx, dword [esp]
call fcn.00401180
je 0x4525be
mov dword [0x44f9bc], 1
jmp 0x452abc
mov edx, 0x44a774
mov ecx, dword [esp]
call fcn.00401180
jne 0x4525dc
mov edx, str.__quiet
mov ecx, dword [esp]
call fcn.00401180
je 0x4525eb
mov dword [0x44f970], 1
jmp 0x452abc
mov edx, 0x44a700
mov ecx, dword [esp]
call fcn.00401180
jne 0x452609
mov edx, str.__ignore
mov ecx, dword [esp]
call fcn.00401180
je 0x452618
mov dword [0x44f984], 1
jmp 0x452abc
mov edx, 0x44a79e
mov ecx, dword [esp]
call fcn.00401180
jne 0x452636
mov edx, str.__report
mov ecx, dword [esp]
call fcn.00401180
je 0x45266b
mov ebx, dword [0x44f958]
inc ebx
mov dword [0x44f958], ebx
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f958]
call fcn.00401bc9
lea eax, [0x44f988]
push eax
call fcn.00412ff0
jmp 0x452abc
mov edx, 0x44a6d0
mov ecx, dword [esp]
call fcn.00401180
jne 0x452689
mov edx, str.__debug
mov ecx, dword [esp]
call fcn.00401180
je 0x4526be
mov ebx, dword [0x44f958]
inc ebx
mov dword [0x44f958], ebx
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f958]
call fcn.00401bc9
lea eax, [0x44f994]
push eax
call fcn.00412ff0
jmp 0x452abc
mov edx, 0x44a6d6
mov ecx, dword [esp]
call fcn.00401180
jne 0x4526e0
mov edx, str.__files
mov ecx, dword [esp]
call fcn.00401180
je 0x45289f
mov ebx, dword [0x44f958]
inc ebx
mov dword [0x44f958], ebx
push dword [0x450efc]
push dword [0x450efc]
push dword [0x44f958]
call fcn.00401bc9
lea eax, [0x44f9c4]
push eax
call fcn.00412ff0
push dword [0x44f9c4]
push 0
call fcn.004114f0
and eax, eax
je 0x4527fe
push 0
call fcn.004115b0
and eax, eax
je 0x45273a
xor eax, eax
jmp 0x45273f
mov eax, 1
and eax, eax
je 0x4527ef
push dword [0x450efc]
push dword [0x450efc]
push dword [0x450efc]
push dword [0x450efc]
push 0
call fcn.00411770
mov edx, dword [0x44efbc]
add dword [esp], edx
call fcn.00410580
lea eax, [0x44f9b4]
push eax
call fcn.00412ff0
push dword [0x450efc]
push dword [0x450efc]
push 1
push dword [0x44f9b4]
call fcn.0040f9c0
add dword [0x450efc], 2
mov edx, 0x447484
pop ecx
mov dword [0x450efc], ecx
add ecx, dword [0x44efbc]
call fcn.00401180
jne 0x4527d9
push dword [0x44f9b4]
mov edx, 0x44702e
pop ecx
call fcn.00401180
jne 0x4527d9
mov eax, 1
jmp 0x4527db
xor eax, eax
and eax, eax
je 0x4527ea
push dword [0x44f9b4]
call fcn.0045d7de
jmp 0x452728
push 0
call fcn.00411350
jmp 0x45289a
cmp dword [0x44f934], 0
je 0x45284e
push dword [0x450efc]
push dword [0x450efc]
mov edx, str.Cannot_read_listfile:_r_n
push edx
call fcn.00413050
mov edx, dword [0x44f9c4]
push edx
call fcn.00413050
add dword [0x450efc], 2
mov eax, str.PureUnit_1.3
push eax
mov edx, dword [0x44efbc]
add dword [esp + 4], edx
call fcn.004013c0
pop dword [0x450efc]
jmp 0x452890
call fcn.0041237c
push dword [0x450efc]
push dword [0x450efc]
mov edx, str.PureUnit:_Cannot_read_listfile:
push edx
call fcn.00413050
mov edx, dword [0x44f9c4]
push edx
call fcn.00413050
mov edx, dword [0x44efbc]
add dword [esp], edx
call dword [0x44efe0]
pop dword [0x450efc]
call fcn.004122cc
push 1
jmp 0x452b1a
jmp 0x452abc
mov edx, str.__version
mov ecx, dword [esp]
call fcn.00401180
je 0x4528d3
call fcn.0041237c
mov eax, str.PureUnit_1.3___2023_Fantaisie_Software
push eax
call dword [0x44efe0]
call fcn.004122cc
push 0
jmp 0x452b1a
mov edx, 0x44a6e2
mov ecx, dword [esp]
call fcn.00401180
jne 0x4528f5
mov edx, str.__help
mov ecx, dword [esp]
call fcn.00401180
je 0x452aa0
call fcn.0041237c
mov eax, str.PureUnit_1.3___2023_Fantaisie_Software
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
mov eax, str.__Usage:_pureunit__Options__TestFiles
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
mov eax, str.Without_any_arguments__PureUnit_starts_in_full_interactive_mode_
push eax
call dword [0x44efe0]
mov eax, str.where_all_options_can_be_set_from_a_GUI.
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
mov eax, str.With_commandline_arguments__PureUnit_runs_without_a_GUI_and_outputs
push eax
call dword [0x44efe0]
mov eax, str.only_failure_messages.
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
mov eax, str.Options_can_be:
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
mov eax, str._COMPILER__exe_
push eax
call dword [0x44efe0]
mov eax, str.__________Specify_the_compiler_exe_To_use._If_this_parameter
push eax
call dword [0x44efe0]
mov eax, str.__________is_not_used__PureUnit_searches_for_the_compiler_in
push eax
call dword [0x44efe0]
mov eax, str.__________this_order:
push eax
call dword [0x44efe0]
mov eax, str.______________the_PUREBASIC_HOME_environment_variable
push eax
call dword [0x44efe0]
mov eax, str.______________the_PATH_environment_variable
push eax
call dword [0x44efe0]
mov eax, 0x447b64
push eax
call dword [0x44efe0]
mov eax, str._FILES__listfile_
push eax
call dword [0x44efe0]
mov eax, str.__________Specify_a_file_containing_a_list_of_files_to_test.
push eax
call dword [0x44efe0]
mov eax, str.__________The_file_should_contain_one_entry_per_line._Wildcards
push eax
call dword [0x44efe0]
mov eax, str.__________are_allowed.
push eax
call dword [0x44efe0]
mov eax, str._GUI______Display_a_GUI_for_progress_information_and_messages.
push eax
call dword [0x44efe0]
mov eax, str._VERBOSE__Display_information_on_currently_running_tests.
push eax
call dword [0x44efe0]
mov eax, str.___________ignored_when__GUI_is_specified_
push eax
call dword [0x44efe0]
mov eax, str._QUIET____Hide_all_warning_messages.__also_for__GUI_mode_
push eax
call dword [0x44efe0]
mov eax, str._IGNORE___Run_all_tests_and_do_not_stop_on_errors.
push eax
call dword [0x44efe0]
mov eax, 0x4472fc
push eax
call dword [0x44efe0]
mov eax, str.__________Generate_a_test_report_in_html.
push eax
call dword [0x44efe0]
mov eax, str._VERSION__Print_version_info_and_quit.
push eax
call dword [0x44efe0]
mov eax, 0x44aa84
push eax
call dword [0x44efe0]
mov eax, str._HELP_____Display_this_help.
push eax
call dword [0x44efe0]
mov eax, 0x44702e
push eax
call dword [0x44efe0]
call fcn.004122cc
push 0
jmp 0x452b1a
mov edx, 0x44702e
mov ecx, dword [esp]
call fcn.00401180
je 0x452ab1
jmp 0x452abc
push dword [0x44f9a4]
call fcn.0045d7de
pop eax
inc dword [0x44f958]
jno 0x4522f1
push dword [0x44f964]
mov edx, 0x44702e
pop ecx
call fcn.00401180
je 0x452af3
push dword [0x450efc]
call fcn.00461c2c
lea eax, [0x44f964]
push eax
call fcn.00412ff0
call fcn.00455cdd
mov ebx, eax
and ebx, ebx
jne 0x452b07
push 0
jmp 0x452b1a
push 1
jmp 0x452b1a
push 0
jmp 0x452b1a
call fcn.00452b34
call fcn.00412fc0
push dword [0x44f914]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess