Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0x10c
push 0
push 0x48c828
call fcn.0042a340
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x48c82c], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x48c828], eax
mov eax, 0x489196
mov dword [0x48c858], eax
call fcn.00414274
call fcn.00451100
call fcn.004505d0
call fcn.00450317
call fcn.0044fb25
call fcn.0044ecff
call fcn.0044e6e2
call fcn.0044d290
call fcn.0044c612
call fcn.0044c578
call fcn.0044b1b0
call fcn.004491c2
call fcn.004489f0
call fcn.00447e3e
call fcn.00446c7a
call fcn.00446ba1
call fcn.0044647e
call fcn.0044644b
call fcn.0044481c
call fcn.0044450b
call fcn.00438fae
call fcn.0043804c
call fcn.00437426
call fcn.00436b9e
push 0x48c8fc
push 0
push 0x15
push 0x100
push 4
call fcn.00450340
mov dword [0x48c870], 0x41
jmp 0x4010eb
mov eax, 0x5a
cmp eax, dword [0x48c870]
jl 0x401117
mov ebx, dword [0x48c870]
mov ebp, dword [0x48c8fc]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x48c870]
jno 0x4010eb
mov dword [0x48c870], 0x61
jmp 0x401123
mov eax, 0x7a
cmp eax, dword [0x48c870]
jl 0x40114f
mov ebx, dword [0x48c870]
mov ebp, dword [0x48c8fc]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x48c870]
jno 0x401123
mov dword [0x48c870], 0x30
jmp 0x40115b
mov eax, 0x39
cmp eax, dword [0x48c870]
jl 0x401187
mov ebx, dword [0x48c870]
mov ebp, dword [0x48c8fc]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x48c870]
jno 0x40115b
mov ebp, dword [0x48c8fc]
mov dword [ebp + 0x17c], 1
push 8
push 0x485c80
lea eax, [0x48c904]
push eax
push 4
call fcn.00447e5d
push 8
push 0x485c80
lea eax, [0x48c90c]
push eax
push 4
call fcn.00447e5d
push 8
push 0x485c80
lea eax, [0x48c914]
push eax
push 4
call fcn.00447e5d
push 7
push 0x485c88
lea eax, [0x48c91c]
push eax
push 0x10
call fcn.00447e5d
push 7
xor eax, eax
push eax
lea eax, [0x48c924]
push eax
push 4
call fcn.00447e5d
push 7
xor eax, eax
push eax
lea eax, [0x48c92c]
push eax
push 8
call fcn.00447e5d
push dword [0x48f240]
push dword [0x48f240]
call fcn.0044c61e
lea eax, [0x48c8f0]
push eax
call fcn.00451140
push dword [0x48f240]
push dword [0x48f240]
call fcn.0044c663
lea eax, [0x48c8b4]
push eax
call fcn.00451140
call fcn.004375fe
mov dword [0x48c8dc], eax
mov ebx, dword [0x48c8dc]
and ebx, ebx
jne 0x40128d
call fcn.00408a9a
jmp 0x401b0e
mov edx, 0x48202e
lea ecx, [0x48c878]
call fcn.00414008
mov edx, 0x48202e
lea ecx, [0x48c89c]
call fcn.00414008
mov edx, 0x48202e
lea ecx, [0x48c8a8]
call fcn.00414008
mov dword [0x48c848], 0
mov dword [0x48c8d0], 0
mov dword [0x48c898], 0
mov dword [0x48c884], 0
mov dword [0x48c86c], 0
jmp 0x4012f1
mov ebx, dword [0x48c8dc]
dec ebx
cmp ebx, dword [0x48c86c]
jl 0x401ac9
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c86c]
call fcn.00437612
lea eax, [0x48c8b8]
push eax
call fcn.00451140
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c8b8]
call fcn.0044b4a0
add dword [0x48f240], 2
mov edx, str._COMPILER
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x40136f
mov edx, 0x4856ca
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._GUI
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x401399
mov edx, 0x4856dc
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._VERBOSE
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x4013c3
mov edx, 0x4857a4
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, 0x485a84
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x4013ed
mov edx, 0x4856e2
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._HELP
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x401417
mov edx, 0x4856e2
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._VERSION
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x401441
mov edx, str.__version
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._IGNORE
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x40146b
mov edx, 0x485700
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._REPORT
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x401492
mov edx, 0x48579e
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._FILES
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x4014b9
mov edx, 0x4856d6
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._QUIET
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x4014e0
mov edx, 0x485774
lea ecx, [0x48c8b8]
call fcn.00414008
jmp 0x401505
mov edx, str._DEBUG
mov ecx, dword [esp]
add ecx, dword [0x489fbc]
call fcn.00414200
je 0x401505
mov edx, 0x4856d0
lea ecx, [0x48c8b8]
call fcn.00414008
pop dword [0x48f240]
push dword [0x48c8b8]
mov edx, 0x4856ca
mov ecx, dword [esp]
call fcn.00414200
jne 0x40152f
mov edx, 0x482730
mov ecx, dword [esp]
call fcn.00414200
je 0x401564
mov ebx, dword [0x48c86c]
inc ebx
mov dword [0x48c86c], ebx
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c86c]
call fcn.00437612
lea eax, [0x48c878]
push eax
call fcn.00451140
jmp 0x401abc
mov edx, 0x4856dc
mov ecx, dword [esp]
call fcn.00414200
jne 0x401582
mov edx, str.__gui
mov ecx, dword [esp]
call fcn.00414200
je 0x401591
mov dword [0x48c848], 1
jmp 0x401abc
mov edx, 0x4857a4
mov ecx, dword [esp]
call fcn.00414200
jne 0x4015af
mov edx, str.__verbose
mov ecx, dword [esp]
call fcn.00414200
je 0x4015be
mov dword [0x48c8d0], 1
jmp 0x401abc
mov edx, 0x485774
mov ecx, dword [esp]
call fcn.00414200
jne 0x4015dc
mov edx, str.__quiet
mov ecx, dword [esp]
call fcn.00414200
je 0x4015eb
mov dword [0x48c884], 1
jmp 0x401abc
mov edx, 0x485700
mov ecx, dword [esp]
call fcn.00414200
jne 0x401609
mov edx, str.__ignore
mov ecx, dword [esp]
call fcn.00414200
je 0x401618
mov dword [0x48c898], 1
jmp 0x401abc
mov edx, 0x48579e
mov ecx, dword [esp]
call fcn.00414200
jne 0x401636
mov edx, str.__report
mov ecx, dword [esp]
call fcn.00414200
je 0x40166b
mov ebx, dword [0x48c86c]
inc ebx
mov dword [0x48c86c], ebx
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c86c]
call fcn.00437612
lea eax, [0x48c89c]
push eax
call fcn.00451140
jmp 0x401abc
mov edx, 0x4856d0
mov ecx, dword [esp]
call fcn.00414200
jne 0x401689
mov edx, str.__debug
mov ecx, dword [esp]
call fcn.00414200
je 0x4016be
mov ebx, dword [0x48c86c]
inc ebx
mov dword [0x48c86c], ebx
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c86c]
call fcn.00437612
lea eax, [0x48c8a8]
push eax
call fcn.00451140
jmp 0x401abc
mov edx, 0x4856d6
mov ecx, dword [esp]
call fcn.00414200
jne 0x4016e0
mov edx, str.__files
mov ecx, dword [esp]
call fcn.00414200
je 0x40189f
mov ebx, dword [0x48c86c]
inc ebx
mov dword [0x48c86c], ebx
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48c86c]
call fcn.00437612
lea eax, [0x48c8d8]
push eax
call fcn.00451140
push dword [0x48c8d8]
push 0
call fcn.0044d550
and eax, eax
je 0x4017fe
push 0
call fcn.0044d610
and eax, eax
je 0x40173a
xor eax, eax
jmp 0x40173f
mov eax, 1
and eax, eax
je 0x4017ef
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48f240]
push dword [0x48f240]
push 0
call fcn.0044d6b0
mov edx, dword [0x489fbc]
add dword [esp], edx
call fcn.0044b510
lea eax, [0x48c8c8]
push eax
call fcn.00451140
push dword [0x48f240]
push dword [0x48f240]
push 1
push dword [0x48c8c8]
call fcn.0044b5c0
add dword [0x48f240], 2
mov edx, 0x482484
pop ecx
mov dword [0x48f240], ecx
add ecx, dword [0x489fbc]
call fcn.00414200
jne 0x4017d9
push dword [0x48c8c8]
mov edx, 0x48202e
pop ecx
call fcn.00414200
jne 0x4017d9
mov eax, 1
jmp 0x4017db
xor eax, eax
and eax, eax
je 0x4017ea
push dword [0x48c8c8]
call fcn.0040c7de
jmp 0x401728
push 0
call fcn.0044d1a0
jmp 0x40189a
cmp dword [0x48c848], 0
je 0x40184e
push dword [0x48f240]
push dword [0x48f240]
mov edx, str.Cannot_read_listfile:_r_n
push edx
call fcn.004511a0
mov edx, dword [0x48c8d8]
push edx
call fcn.004511a0
add dword [0x48f240], 2
mov eax, str.PureUnit_1.3
push eax
mov edx, dword [0x489fbc]
add dword [esp + 4], edx
call fcn.00436c24
pop dword [0x48f240]
jmp 0x401890
call fcn.004501d8
push dword [0x48f240]
push dword [0x48f240]
mov edx, str.PureUnit:_Cannot_read_listfile:
push edx
call fcn.004511a0
mov edx, dword [0x48c8d8]
push edx
call fcn.004511a0
mov edx, dword [0x489fbc]
add dword [esp], edx
call dword [0x48a868]
pop dword [0x48f240]
call fcn.00450218
push 1
jmp 0x401b1a
jmp 0x401abc
mov edx, str.__version
mov ecx, dword [esp]
call fcn.00414200
je 0x4018d3
call fcn.004501d8
mov eax, str.PureUnit_1.3___2023_Fantaisie_Software
push eax
call dword [0x48a868]
call fcn.00450218
push 0
jmp 0x401b1a
mov edx, 0x4856e2
mov ecx, dword [esp]
call fcn.00414200
jne 0x4018f5
mov edx, str.__help
mov ecx, dword [esp]
call fcn.00414200
je 0x401aa0
call fcn.004501d8
mov eax, str.PureUnit_1.3___2023_Fantaisie_Software
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
mov eax, str.__Usage:_pureunit__Options__TestFiles
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
mov eax, str.Without_any_arguments__PureUnit_starts_in_full_interactive_mode_
push eax
call dword [0x48a868]
mov eax, str.where_all_options_can_be_set_from_a_GUI.
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
mov eax, str.With_commandline_arguments__PureUnit_runs_without_a_GUI_and_outputs
push eax
call dword [0x48a868]
mov eax, str.only_failure_messages.
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
mov eax, str.Options_can_be:
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
mov eax, str._COMPILER__exe_
push eax
call dword [0x48a868]
mov eax, str.__________Specify_the_compiler_exe_To_use._If_this_parameter
push eax
call dword [0x48a868]
mov eax, str.__________is_not_used__PureUnit_searches_for_the_compiler_in
push eax
call dword [0x48a868]
mov eax, str.__________this_order:
push eax
call dword [0x48a868]
mov eax, str.______________the_PUREBASIC_HOME_environment_variable
push eax
call dword [0x48a868]
mov eax, str.______________the_PATH_environment_variable
push eax
call dword [0x48a868]
mov eax, 0x482b64
push eax
call dword [0x48a868]
mov eax, str._FILES__listfile_
push eax
call dword [0x48a868]
mov eax, str.__________Specify_a_file_containing_a_list_of_files_to_test.
push eax
call dword [0x48a868]
mov eax, str.__________The_file_should_contain_one_entry_per_line._Wildcards
push eax
call dword [0x48a868]
mov eax, str.__________are_allowed.
push eax
call dword [0x48a868]
mov eax, str._GUI______Display_a_GUI_for_progress_information_and_messages.
push eax
call dword [0x48a868]
mov eax, str._VERBOSE__Display_information_on_currently_running_tests.
push eax
call dword [0x48a868]
mov eax, str.___________ignored_when__GUI_is_specified_
push eax
call dword [0x48a868]
mov eax, str._QUIET____Hide_all_warning_messages.__also_for__GUI_mode_
push eax
call dword [0x48a868]
mov eax, str._IGNORE___Run_all_tests_and_do_not_stop_on_errors.
push eax
call dword [0x48a868]
mov eax, 0x4822fc
push eax
call dword [0x48a868]
mov eax, str.__________Generate_a_test_report_in_html.
push eax
call dword [0x48a868]
mov eax, str._VERSION__Print_version_info_and_quit.
push eax
call dword [0x48a868]
mov eax, 0x485a84
push eax
call dword [0x48a868]
mov eax, str._HELP_____Display_this_help.
push eax
call dword [0x48a868]
mov eax, 0x48202e
push eax
call dword [0x48a868]
call fcn.00450218
push 0
jmp 0x401b1a
mov edx, 0x48202e
mov ecx, dword [esp]
call fcn.00414200
je 0x401ab1
jmp 0x401abc
push dword [0x48c8b8]
call fcn.0040c7de
pop eax
inc dword [0x48c86c]
jno 0x4012f1
push dword [0x48c878]
mov edx, 0x48202e
pop ecx
call fcn.00414200
je 0x401af3
push dword [0x48f240]
call fcn.00410c2c
lea eax, [0x48c878]
push eax
call fcn.00451140
call fcn.00404cdd
mov ebx, eax
and ebx, ebx
jne 0x401b07
push 0
jmp 0x401b1a
push 1
jmp 0x401b1a
push 0
jmp 0x401b1a
call fcn.00401b34
call fcn.004510d0
push dword [0x48c828]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess