Function at 0x438411
Capabilities:
Accept command line arguments

Disassembly:
push 0xa4
mov eax, 0x44549c
call fcn.0043f86d
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov ecx, eax
mov dword [ebp - 0x28], ecx
push eax
push eax
push 1
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapSetInformation]
xor ecx, ecx
mov dword [ebp - 4], ecx
mov esi, dword [0x451004]
lea esi, [esi - 0x10]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0xb0]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [0x451020], ecx
mov dword [0x451024], ecx
push 0x451018
push section..data
push 0x4088b0
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.api_ms_win_eventing_provider_l1_1_0.dll_EventRegister]
test eax, eax
jne 0x4384ab
mov ecx, dword [0x451004]
movzx eax, word [ecx]
push eax
push ecx
push 2
push dword [0x45101c]
push dword [0x451018]
call dword [sym.imp.api_ms_win_eventing_provider_l1_1_0.dll_EventSetInformation]
call fcn.004381ff
mov ecx, dword [0x451018]
mov eax, dword [0x45101c]
xor edx, edx
mov dword [section..data], edx
mov dword [0x451018], edx
mov dword [0x45101c], edx
push eax
push ecx
call dword [sym.imp.api_ms_win_eventing_provider_l1_1_0.dll_EventUnregister]
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 2
xor eax, eax
mov esi, eax
mov dword [ebp - 0x64], esi
push eax
push eax
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoInitializeEx]
test eax, eax
js 0x4384f9
inc esi
mov dword [ebp - 0x64], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x438b56
xor eax, eax
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 4
cmp dword [0x451a2c], eax
je 0x438534
mov dword [0x451a2c], eax
mov dword [0x45178c], eax
push eax
call fcn.0043b17e
mov edi, dword [0x451a00]
mov dword [ebp - 0x28], edi
jmp 0x438b48
call fcn.0043a149
test eax, eax
je 0x438b45
push ecx
lea ecx, [ebp - 0x60]
call fcn.00439a7f
mov byte [ebp - 4], 5
cmp dword [ebp + 8], 1
jne 0x438a60
push 0xfffffffffffffff6
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetStdHandle]
cmp eax, 0xffffffff
jne 0x4385b0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 4
cmp byte [ebp - 0x60], 0
jne 0x43858d
mov edi, dword [ebp - 0x58]
mov ecx, edi
call dword [0x4523e0]
mov ecx, dword [ebp - 0x5c]
call edi
mov edi, dword [ebp - 0x34]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.00411ea5
mov byte [ebp - 4], 2
cmp esi, 1
jne 0x4385a8
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
mov eax, edi
call fcn.0043f7bf
ret
push ecx
push dword [sym.imp.msvcrt.dll_fclose]
lea ecx, [ebp - 0x20]
call fcn.00439ac9
mov byte [ebp - 4], 6
push ecx
push dword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
lea ecx, [ebp - 0xa0]
call fcn.00439b0e
mov byte [ebp - 4], 7
push 1
call fcn.00439fa1
xor edi, edi
mov eax, dword [0x4518e8]
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::constructor_void_]
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x44]
cmp eax, 2
jne 0x438611
push dword [0x4518f0]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__]
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x43861b
mov dword [0x4518e8], edi
mov eax, dword [0x4518fc]
mov dword [ebp - 0x88], eax
mov dword [0x4518fc], edi
xor edi, edi
inc edi
mov dword [0x4518b8], edi
push 0x406bb8
lea ecx, [ebp - 0x78]
call fcn.00411f31
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x30]
call fcn.00411cb0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x78]
call fcn.00411ea5
push 0x406bc4
lea ecx, [ebp - 0x7c]
call fcn.00411cd7
push 0xa
pop ecx
mov byte [ebp - 4], cl
push eax
lea ecx, [ebp - 0x30]
call fcn.00411e1a
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x7c]
call fcn.00411ea5
push dword [0x451880]
lea ecx, [ebp - 0x80]
call fcn.00411f31
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x30]
call fcn.00411e1a
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x80]
call fcn.00411ea5
push 0x406724
lea ecx, [ebp - 0x84]
call fcn.00411cd7
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x30]
call fcn.00411e1a
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.00411ea5
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4386e3
mov ecx, dword [eax]
xor eax, eax
jmp 0x4386e7
xor eax, eax
mov ecx, eax
push eax
push eax
push eax
call fcn.004321ab
mov dword [0x451a10], edi
cmp byte [0x451570], 0
jne 0x438996
xor edi, edi
mov dword [ebp - 0x40], edi
push 0x1ffe
call fcn.0043f15c
pop ecx
mov dword [ebp - 0x40], eax
test eax, eax
je 0x4388ad
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x94]
call fcn.004171a3
mov byte [ebp - 4], 0xd
push edi
call fcn.0043fc59
push eax
push 0xffe
push dword [ebp - 0x40]
call dword [sym.imp.msvcrt.dll_fgetws]
add esp, 0x10
test eax, eax
je 0x4388a2
mov dword [ebp - 0x4c], edi
lea edx, [ebp - 0x4c]
mov ecx, dword [ebp - 0x40]
call fcn.00430bd4
test eax, eax
je 0x43887e
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x74]
call fcn.00439b56
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x50], edi
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xac]
call fcn.004171a3
mov byte [ebp - 4], 0xf
push ecx
lea edx, [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
call fcn.00430b6d
test eax, eax
je 0x438820
push dword [ebp - 0x50]
mov ecx, 0x4511c0
call fcn.004209da
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xac]
call fcn.0041713e
mov byte [ebp - 4], 0xd
cmp byte [ebp - 0x74], 0
jne 0x4387d7
push dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
mov ecx, edi
call dword [0x4523e0]
call edi
xor edi, edi
mov eax, dword [0x4511d0]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4511d4]
mov edx, dword [0x4511c0]
cmp ecx, 8
mov eax, edx
jae 0x4387f7
mov eax, 0x4511c0
mov edi, dword [ebp - 0x34]
push 0xa
pop esi
cmp word [eax + edi*2 - 2], si
mov esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x48]
jne 0x43886d
cmp ecx, 8
jae 0x438814
mov edx, 0x4511c0
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov word [edx + eax*2 - 2], cx
jmp 0x43886d
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [0x4517e8], 0xbbef
push edi
call fcn.0043b17e
mov ecx, dword [0x451a00]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xac]
call fcn.0041713e
mov byte [ebp - 4], 0xd
cmp byte [ebp - 0x74], 0
jne 0x43886d
push dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
mov ecx, edi
call dword [0x4523e0]
call edi
xor edi, edi
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x94]
call fcn.0041713e
jmp 0x4388cf
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [0x4517e8], 0xbbef
push edi
call fcn.0043b17e
mov ecx, dword [0x451a00]
mov dword [ebp - 0x28], ecx
jmp 0x43886d
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
jmp 0x43886d
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [0x4517e8], 0xbbef
push edi
call fcn.0043b17e
mov ecx, dword [0x451a00]
mov dword [ebp - 0x28], ecx
cmp byte [0x451570], 0
jne 0x438996
mov dword [0x451a10], edi
mov eax, dword [ebp - 0x88]
mov dword [0x4518fc], eax
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4388f9
mov dword [0x4518e8], eax
push 1
call fcn.0043b17e
cmp dword [ebp - 0x38], 0
jne 0x438996
mov dword [0x451a0c], edi
mov ecx, 0x451a1c
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::Empty_void_]
cmp byte [0x451570], 0
jne 0x438996
lea eax, [ebp - 0x68]
push eax
call fcn.00438fbf
push dword [eax]
mov ecx, 0x451670
call fcn.0043a427
mov ecx, dword [0x451a00]
mov dword [ebp - 0x28], ecx
cmp eax, 2
je 0x438996
mov eax, dword [0x4518e8]
mov dword [ebp - 0x34], eax
cmp eax, 1
jne 0x438961
mov ecx, 0x451a1c
call fcn.00438cd1
mov eax, dword [ebp - 0x34]
cmp eax, 2
je 0x43896f
call fcn.00438c65
test eax, eax
je 0x438996
call fcn.00438c9b
test eax, eax
je 0x438996
cmp dword [0x451860], 1
jne 0x438a4e
mov eax, dword [ebp - 0x34]
cmp eax, 2
jne 0x4389f5
call fcn.00438c65
test eax, eax
jne 0x4389f2
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::destructor_void_]
xor edi, edi
push edi
call fcn.00439fa1
mov byte [ebp - 4], 6
cmp byte [ebp - 0xa0], 0
jne 0x4389ce
push dword [ebp - 0x98]
mov edi, dword [ebp - 0x9c]
mov ecx, edi
call dword [0x4523e0]
call edi
mov byte [ebp - 4], 5
cmp byte [ebp - 0x20], 0
jne 0x438b2b
push dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call dword [0x4523e0]
call edi
pop ecx
jmp 0x438b2b
mov eax, dword [ebp - 0x34]
mov dword [0x451860], edi
cmp eax, 2
jne 0x438a0d
push 1
push edi
mov ecx, 0x45186c
call fcn.00429023
mov eax, dword [ebp - 0x44]
mov dword [0x4518e8], eax
cmp eax, 2
jne 0x438a4e
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x3c]
call fcn.00411f31
mov byte [ebp - 4], 0x10
mov eax, dword [eax]
test eax, eax
je 0x438a33
mov eax, dword [eax]
jmp 0x438a35
mov eax, edi
push 1
push eax
mov ecx, 0x45186c
call fcn.00429023
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x3c]
call fcn.00411ea5
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::destructor_void_]
jmp 0x4385e2
cmp dword [ebp + 8], 4
jne 0x438a70
mov ecx, dword [ebp - 0x3c]
call fcn.004380a1
jmp 0x438a72
xor eax, eax
test al, al
je 0x438ab2
mov byte [ebp - 4], 4
cmp byte [ebp - 0x60], 0
jne 0x438a90
mov edi, dword [ebp - 0x58]
mov ecx, edi
call dword [0x4523e0]
mov ecx, dword [ebp - 0x5c]
call edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.00411ea5
mov byte [ebp - 4], 2
cmp esi, 1
jne 0x438aab
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
xor eax, eax
jmp 0x4385aa
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetCommandLineW]
push eax
mov ecx, 0x4511c0
call fcn.004209da
cmp dword [0x4511d0], 0
je 0x438b2b
push 1
call fcn.0043b17e
lea eax, [ebp - 0x3c]
push eax
call fcn.00438fbf
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0x68]
push eax
call fcn.00438f95
cmp edx, dword [eax]
je 0x438af7
cmp word [edx], 0x20
je 0x438af7
add edx, 2
jmp 0x438adf
lea eax, [ebp - 0x68]
push eax
call fcn.00438f95
cmp edx, dword [eax]
je 0x438b2b
push edx
mov ecx, 0x451670
call fcn.0043a427
mov ecx, dword [0x451a00]
mov dword [ebp - 0x28], ecx
cmp dword [0x4518e8], 1
jne 0x438b2b
mov ecx, 0x451a1c
call fcn.00438cd1
mov byte [ebp - 4], 4
cmp byte [ebp - 0x60], 0
jne 0x438b45
mov edi, dword [ebp - 0x58]
mov ecx, edi
call dword [0x4523e0]
mov ecx, dword [ebp - 0x5c]
call edi
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.00411ea5
jmp 0x438b7f
xor edi, edi
cmp dword [0x4517f8], edi
je 0x438b70
push edi
push 0x451758
mov ecx, 0x4516d0
call fcn.00421932
push edi
call fcn.0043b17e
mov edi, dword [0x451a00]
mov dword [ebp - 0x28], edi
mov byte [ebp - 4], 2
cmp esi, 1
jne 0x438b8e
call dword [sym.imp.api_ms_win_core_com_l1_1_0.dll_CoUninitialize]
or dword [ebp - 4], 0xffffffff
jmp 0x4385a8