Function at 0x401000
Capabilities:
Allocate thread local storage

Disassembly:
push 0xb0
push 0
push 0x40f65c
call sub.MSVCRT.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleW
mov dword [0x40f660], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x40f65c], eax
call fcn.0040bc80
call fcn.0040aea5
call fcn.0040a8ed
call fcn.00409970
call fcn.0040988f
call fcn.004097f5
call fcn.00409780
call fcn.004092a0
call fcn.004073dc
call fcn.00406c80
call fcn.0040619b
call fcn.00406112
call fcn.00405de1
call fcn.004044e6
call fcn.004034a9
call fcn.00403125
call fcn.00402b13
call fcn.004023db
mov dword [0x40f690], 0
push 0xc80001
mov eax, str.Face_Plate_Reporter
push eax
push 0x11d
push 0x29e
push 0
push 0
push 0
call fcn.00404551
and eax, eax
je 0x401aab
push 0xfa
push 0x28a
push 0xa
push 0xa
push 0
call fcn.00403b73
push 0
call fcn.0040489d
push eax
push 0
call fcn.00402233
and eax, eax
je 0x401115
push 0xffff0001
call fcn.0040274e
push 0
call fcn.0040489d
push eax
push 0
call fcn.004031d2
and eax, eax
je 0x401179
mov eax, str.File
push eax
call fcn.00403272
mov eax, str.Process_MTR_Export
push eax
push 1
call fcn.00403360
mov eax, str.Save_Results...
push eax
push 2
call fcn.00403360
mov eax, str.About
push eax
push 3
call fcn.00403360
mov eax, str.Quit
push eax
push 4
call fcn.00403360
call fcn.004049e4
push eax
mov ebx, 0x332d
cmp ebx, dword [esp]
jne 0x401a87
call fcn.0040aa0a
push eax
mov ebx, 1
cmp ebx, dword [esp]
jne 0x401892
mov edx, dword [0x40fb28]
push edx
push edx
push 0
mov eax, str.DAT__.dat_.dat
push eax
mov eax, 0x40e2dc
push eax
mov eax, str.Please_choose_Meter_DAT_file_to_process
push eax
call fcn.00402b4c
push 0x40f668
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
mov edx, str.Job_to_process
push edx
call fcn.0040bd80
mov edx, dword [0x40fb28]
push edx
push edx
mov eax, dword [0x40f6ec]
cdq
push edx
push eax
call fcn.00409550
pop eax
add dword [0x40fb28], 2
push 0
push 0
mov edx, dword [0x40e6c8]
add dword [esp + 8], edx
call fcn.00402afd
pop dword [0x40fb28]
mov edx, dword [0x40fb28]
push edx
push edx
push 0
mov eax, str.CSV__.csv_.csv
push eax
mov eax, 0x40e2dc
push eax
mov eax, str.Please_choose_file_to_write_results_too
push eax
call fcn.00402b6e
push 0x40f6b4
call fcn.0040bd00
push dword [0x40f6b4]
push 2
call fcn.00409b80
mov dword [0x40f6ac], eax
mov edx, str.Group_RecID_MeterID_Chan_SEQ_Ndials_Dmult_UOM_ReadTS_MetRead
lea ecx, [0x40f6b8]
call fcn.00402008
push dword [0x40f6b8]
push 2
call fcn.00409d30
push dword [0x40f668]
push 0
call fcn.00409c70
and eax, eax
je 0x401878
push 0
call fcn.00409d70
mov ebx, eax
and ebx, ebx
jne 0x401864
inc dword [0x40f690]
mov edx, dword [0x40fb28]
push edx
push edx
push 0
call fcn.00409f00
push 0x40f6c0
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0xe
push 1
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f704
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 4
push 0xf
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6d4
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x13
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f670
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x15
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6d0
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x17
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f69c
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x19
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f68c
call fcn.0040bd00
mov edx, dword [0x40f6d4]
push dword [0x40fb28]
push edx
call fcn.0040bd80
mov edx, 0x40e028
push edx
call fcn.0040bd80
mov edx, dword [0x40f670]
push edx
call fcn.0040bd80
mov edx, 0x40e028
push edx
call fcn.0040bd80
mov edx, dword [0x40f6d0]
push edx
call fcn.0040bd80
mov edx, str.___:
push edx
call fcn.0040bd80
mov edx, dword [0x40f69c]
push edx
call fcn.0040bd80
mov edx, 0x40e02c
push edx
call fcn.0040bd80
mov edx, dword [0x40f68c]
push edx
call fcn.0040bd80
push 0x40f6bc
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x1b
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f708
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0xe
push 0x1d
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f66c
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x2b
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f664
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x2d
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f684
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 1
push 0x2f
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6a4
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 1
push 0x30
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6a8
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 1
push 0x31
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f700
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 1
push 0x32
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6c4
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 3
push 0x33
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6d8
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0x41
push 0x36
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6dc
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0x41
push 0x77
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6f0
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0x41
push 0xb8
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6f4
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0x41
push 0xf9
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6fc
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0xc
push 0x13a
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6e0
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 4
push 0x146
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6e4
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 2
push 0x14a
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6f8
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 9
push 0x14c
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6b0
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0xa
push 0x155
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6c8
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 9
push 0x15f
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f674
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 0xc
push 0x168
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f694
call fcn.0040bd00
mov edx, dword [0x40fb28]
push edx
push edx
push 6
push 0x174
push dword [0x40f6c0]
call fcn.004096b0
push 0x40f6e8
call fcn.0040bd00
mov edx, dword [0x40f6e8]
push dword [0x40fb28]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f704]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f66c]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f708]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f664]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f684]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f6b0]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f6f8]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f6bc]
push edx
call fcn.0040bd80
mov edx, 0x40e024
push edx
call fcn.0040bd80
mov edx, dword [0x40f694]
push edx
call fcn.0040bd80
push 0x40f6b8
call fcn.0040bd00
push dword [0x40f6b8]
push 2
call fcn.00409d30
jmp 0x401299
push 0
call fcn.004098a0
push 2
call fcn.004098a0
mov eax, str.All_Job_Requests_Completed...
push eax
push 0
push 0
call fcn.00402afd
jmp 0x401a84
mov ebx, 2
cmp ebx, dword [esp]
jne 0x4019b4
mov edx, str.Text__.csv_.csvAll_files__._.
lea ecx, [0x40f678]
call fcn.00402008
mov dword [0x40f688], 0
mov edx, dword [0x40fb28]
push edx
push edx
push dword [0x40f688]
push dword [0x40f678]
push dword [0x40f6cc]
mov eax, str.Please_choose_file_to_save
push eax
call fcn.00402b6e
push 0x40f6a0
call fcn.0040bd00
push dword [0x40f6a0]
call fcn.00409740
mov ebx, eax
and ebx, ebx
je 0x40199a
mov edx, dword [0x40fb28]
push edx
push edx
push 0
call fcn.0040400c
push 0x40f698
call fcn.0040bd00
push 0x40000
push dword [0x40f6a0]
push 0
call fcn.00409c50
mov dword [0x40f6ac], eax
push dword [0x40f698]
push 0
call fcn.0040a020
mov dword [0x40f6ac], eax
push 0
call fcn.004098a0
mov edx, dword [0x40fb28]
push edx
push edx
mov edx, str.Finished_Saving_Face_Plate_Readings_Report:
push edx
call fcn.0040bd80
mov edx, dword [0x40f6a0]
push edx
call fcn.0040bd80
add dword [0x40fb28], 2
push 0
push 0
mov edx, dword [0x40e6c8]
add dword [esp + 8], edx
call fcn.00402afd
pop dword [0x40fb28]
jmp 0x4019af
mov eax, str.So..._Uhm..._Maybe_you_want_to_select_a_file_to_save_too..
push eax
push 0
push 0
call fcn.00402afd
jmp 0x401a84
mov ebx, 3
cmp ebx, dword [esp]
jne 0x401a7a
push 0
call fcn.00404074
mov dword [0x40f690], 0
mov eax, str.v1_Aperilion_2017__Meter_Reading_Export_Formater
push eax
push dword [0x40f690]
push 0
call fcn.00404097
inc dword [0x40f690]
mov eax, str.This_software_provided_as_is_with_no_guarantees_and_used_at_your_risk
push eax
push dword [0x40f690]
push 0
call fcn.00404097
inc dword [0x40f690]
mov eax, str.Tool_prepares_an_excel_ready_file_from_a_DAT_meter_reading_file
push eax
push dword [0x40f690]
push 0
call fcn.00404097
inc dword [0x40f690]
mov eax, str.Support_queries_to_support_aperilion.com.au
push eax
push dword [0x40f690]
push 0
call fcn.00404097
inc dword [0x40f690]
mov eax, str.Please_note__no_support_contract_so_queries_are_best_effort_only_:__
push eax
push dword [0x40f690]
push 0
call fcn.00404097
inc dword [0x40f690]
mov eax, 0x40e030
push eax
push dword [0x40f690]
push 0
call fcn.00404097
jmp 0x401a84
mov dword [0x40f680], 1
pop eax
jmp 0x401a9b
mov ebx, 0x333c
cmp ebx, dword [esp]
jne 0x401a9b
mov dword [0x40f680], 1
pop eax
mov ebx, dword [0x40f680]
cmp ebx, 1
jne 0x401179
push 0
call 0x401aca
call fcn.0040bcd0
push dword [0x40f65c]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.0040304d
call fcn.0040348e
call fcn.004044c3
call fcn.00405dd4
call fcn.00406106
call fcn.004092c0
call fcn.00409883
call fcn.00409960
call fcn.0040a8cf
call fcn.0040b46a
call fcn.00409770
ret