Function at 0x429050
Capabilities:
Accept command line arguments
Get system information on windows
Query environment variable
Resolve path using msvcrt

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x447a98
push 0x42e405
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x449014]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xe4], 0
sub esp, 8
call fcn.0042dc2e
test byte [0x44e700], 2
jne 0x43ca0c
call fcn.00427a11
test eax, eax
je 0x4296c1
mov dword [0x44b0e4], 0
push 0
push 0
push 0x40153c
mov esi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
call esi
test eax, eax
jne 0x43cb2c
push 0x44c93c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 1
push 0x44433c
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0
push 0
push 0x40151c
call esi
test eax, eax
jne 0x43cb3b
push 0x40151a
push 0
call dword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll_setlocale]
add esp, 8
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 4], 0
call fcn.00427a11
test eax, eax
je 0x429157
call fcn.0042b044
push 0x401514
push 0
lea eax, [ebp - 0xbc]
push eax
mov esi, dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__wdupenv_s]
call esi
push 0x401508
push 0
lea eax, [ebp - 0xc0]
push eax
call esi
mov esi, 1
mov edx, esi
mov ecx, dword [ebp - 0xbc]
call fcn.0042a610
mov dword [ebp - 0xd8], eax
mov ecx, eax
call fcn.004239a6
mov dword [ebp - 0xb4], eax
mov edx, esi
mov ecx, dword [ebp - 0xc0]
call fcn.0042a610
mov dword [ebp - 0xe0], eax
mov ecx, eax
call fcn.004239a6
mov dword [ebp - 0xdc], eax
push dword [ebp - 0xbc]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call esi
mov dword [ebp - 0xbc], 0
push dword [ebp - 0xc0]
call esi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__get_wpgmptr]
mov edi, dword [ebp - 0xd0]
mov dword [ebx], edi
mov esi, dword [0x449df4]
push 0x2c
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0x30
mov ecx, edi
call fcn.0042a898
mov dword [esi + 0x24], eax
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0xb4]
cmp edi, 1
je 0x4297bf
mov ecx, dword [ebp - 0xd8]
call fcn.00429fe0
lea esi, [edi - 1]
lea ecx, [ebx + 4]
mov edx, esi
call fcn.00429fe0
mov edx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
call fcn.00429fe0
cmp dword [0x44c924], 0
je 0x42975a
mov eax, dword [0x44e664]
cmp dword [0x44e6bc], 0
jne 0x43cb41
test eax, eax
jne 0x43cb58
call fcn.0042d50b
cmp dword [0x44dda0], 0
jne 0x43cb67
cmp dword [0x44dd9c], 0
jne 0x43cb87
call fcn.0042aaa7
push 0xf0000000
push 1
push 0
push 0
push 0x44b0e8
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x43cc00
cmp dword [0x44e6a0], 0
jne 0x43cc18
mov dword [ebp - 0xd4], ebx
mov esi, edi
mov dword [ebp - 0x104], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0xb8], eax
push 0x4015fc
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
jne 0x43cc27
push 0
mov edx, 0x1b
mov ecx, 0x406ce0
call fcn.004240a0
call fcn.00422ff7
mov dword [0x449044], 0
mov byte [0x44b8f4], 1
push 0x4015e4
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 8
mov dword [0x44d568], eax
test eax, eax
jne 0x43cc9f
mov eax, dword [ebp - 0xb4]
test eax, eax
jg 0x43ccce
cmp edi, 1
jle 0x42936f
push 1
lea edx, [edi - 1]
lea ecx, [ebx + 4]
call fcn.004240a0
add esp, 4
mov eax, dword [ebp - 0xdc]
test eax, eax
jg 0x429729
cmp dword [0x44e6f4], 0
jne 0x43ccf2
mov byte [0x44b8f4], 0
cmp dword [0x44e688], 0
jne 0x43cd25
call fcn.0042a9d6
push 0
push 0
push 0x4015bc
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
call edi
test eax, eax
jne 0x43cd39
xor al, al
mov byte [ebp - 0xad], al
mov ecx, dword [0x44c108]
test ecx, ecx
jne 0x42969a
test al, al
jne 0x43cd6e
call fcn.0042a9a0
mov ecx, dword [0x449df4]
call fcn.00422370
mov dword [0x449030], 0
cmp dword [0x44e658], 0
jne 0x43cdba
cmp dword [0x44de24], 0
jne 0x43ce41
cmp dword [0x44de30], 0
jne 0x43ce9e
cmp dword [0x44c920], 0
je 0x429431
call fcn.00427a11
test eax, eax
je 0x42971f
cmp dword [0x44e6c4], 0
jne 0x4299ae
cmp dword [0x44de00], 0
jne 0x43cebf
cmp dword [0x44de20], 0
jne 0x43cec9
cmp dword [0x44e664], 0
jne 0x43ced8
cmp dword [0x44c918], 0
jne 0x4298ad
cmp dword [0x44c92c], 0
jne 0x42978c
call fcn.0042a93e
cmp dword [0x44b8f0], 0
jne 0x42979e
mov eax, dword [0x44e64c]
test eax, eax
jne 0x43cf7a
mov eax, dword [0x44e6a8]
test eax, eax
jne 0x43cfa5
call fcn.00423602
test al, al
jne 0x43cffb
mov eax, dword [0x449de8]
test eax, eax
je 0x4294e8
mov edx, 0x4015b4
mov ecx, 0x4015a4
call fcn.004239b8
mov eax, dword [0x449de8]
test eax, eax
je 0x4294e8
mov edx, 0x40158c
mov ecx, 0x401568
call fcn.004239b8
cmp dword [0x44e650], 0
jne 0x43d079
mov eax, dword [0x449df4]
cmp dword [eax + 0x20], 0
jne 0x43d0e9
call fcn.0042777a
mov ecx, dword [0x449df4]
mov dword [ecx + 0x20], eax
mov edi, dword [0x44de28]
mov dword [ebp - 0xc8], edi
test edi, edi
jne 0x43d0f8
mov eax, dword [0x449df4]
cmp dword [eax + 0xc], edi
je 0x4297cc
mov eax, dword [0x44b0a8]
test eax, eax
jne 0x429897
mov ebx, 0xe
mov dword [ebp - 0xb8], ebx
mov eax, dword [0x449df4]
mov esi, dword [eax + 0xc]
mov eax, esi
mov edi, 1
mov dword [ebp - 0xf8], esi
test eax, eax
je 0x4295c9
cmp ebx, 0xe
jne 0x429740
mov eax, dword [esi + 0x14]
cmp eax, 0xe
je 0x429771
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x41f398]
mov ecx, eax
mov dword [ebp - 0xf4], eax
mov eax, dword [eax]
cmp eax, 0x12
je 0x43d1c3
lea eax, [eax + eax*8]
test byte [eax*4 + 0x44906c], 1
jne 0x4295a9
lea eax, [ecx + 4]
jmp 0x429584
cmp dword [0x44c918], 0
jne 0x4297de
cmp dword [0x44c92c], 0
jne 0x4297b0
mov eax, dword [esi]
mov esi, eax
jmp 0x42955b
cmp dword [0x44de20], 0
jne 0x43d21c
xor al, al
push eax
push ecx
lea ecx, [ebp - 0x140]
call fcn.0042fb75
call fcn.0042b492
lea ecx, [ebp - 0x140]
mov eax, dword [0x449df4]
mov dword [eax + 0x28], ecx
cmp dword [0x449050], 0
je 0x42960e
push 2
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__dup2]
add esp, 8
push 0x401b38
push 0
call dword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll_setlocale]
add esp, 8
mov eax, dword [0x44c930]
cmp eax, dword [0x44b094]
jne 0x43d223
call fcn.00427a11
test eax, eax
je 0x4296d3
call fcn.00427ae6
mov eax, dword [0x449df4]
mov dword [eax + 0x28], 0
lea ecx, [ebp - 0x140]
call fcn.0042bab8
xor edx, edx
mov ecx, dword [0x449df4]
call fcn.004282ee
cmp dword [0x44b09c], 0
je 0x43d313
mov dword [ebp - 4], 0xfffffffe
call fcn.00427a11
test eax, eax
je 0x42970d
cmp dword [0x44b0ac], 0
jne 0x43d367
xor ecx, ecx
call fcn.004222be
cmp dword [0x44c918], 0
jne 0x43cd5a
test ecx, ecx
je 0x4293d2
cmp dword [0x44e698], 0
je 0x4293d2
jmp 0x43cd67
test byte [0x44e700], 2
je 0x4290dc
jmp 0x43ca16
xor esi, esi
mov eax, dword [0x449df4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xfc], esi
test eax, eax
je 0x4296ec
inc esi
mov eax, dword [eax]
jmp 0x4296dd
cmp dword [0x44d1b4], 0
jne 0x4297fa
mov dword [0x4492e8], 0xffffffff
call fcn.00421f87
jmp 0x429641
test byte [0x44e700], 2
je 0x429686
jmp 0x43d325
call fcn.00428bc5
jmp 0x429431
push 1
mov edx, eax
mov ecx, dword [ebp - 0xe0]
call fcn.004240a0
add esp, 4
jmp 0x42937d
cmp word [esi + 0x18], 0
jne 0x42956e
mov dword [eax + 0x14], ebx
mov word [esi + 0x18], di
mov eax, dword [eax + 0x14]
jmp 0x42957a
call fcn.00427a11
test eax, eax
jne 0x429270
call fcn.00422a2b
jmp 0x429270
cmp dword [0x44c91c], 0
je 0x43d1a4
mov dword [esi + 0x14], 0
xor eax, eax
jmp 0x42957a
cmp dword [0x44de0c], 0
je 0x42947f
jmp 0x43cef1
cmp dword [0x44e668], 0
je 0x429491
jmp 0x43cf2e
cmp dword [esi + 0x14], 0
jne 0x4295c3
jmp 0x43d1fa
test edx, edx
jne 0x42923a
call fcn.00421f5b
push 0x1f43
call fcn.00422658
add esp, 4
jmp 0x429534
cmp dword [0x44e678], 0
jne 0x4295b6
cmp dword [esi + 0x14], 0
jne 0x4295b6
jmp 0x43d1d8
cmp esi, 2
jl 0x43d232
mov eax, dword [0x44d1ac]
test eax, eax
jne 0x43d271
cmp dword [0x44e6d8], eax
jne 0x43d26d
cmp dword [0x44e6f0], eax
jne 0x43d26d
cmp dword [0x44e6d4], eax
jne 0x43d26d
cmp dword [0x44d1b8], eax
jne 0x43d26d
cmp dword [0x44e6dc], eax
jne 0x43d26d
mov eax, dword [0x44e6e4]
test eax, eax
jne 0x43d244
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x150]
mov dword [0x4492e8], eax
cmp eax, 0x400
ja 0x43d253
cmp eax, 1
je 0x4296f9
cmp eax, esi
jg 0x43d262
call fcn.004289d1
jmp 0x429641
movzx eax, word [eax]
mov ecx, eax
cmp eax, 0x50
jne 0x43d18b
lea ebx, [eax - 0x4f]
jmp 0x429546
call fcn.00421dd0
cmp word [0x44b0f0], 0x2d
je 0x429472
push 4
push 0x4013e0
mov edx, 0x44b0f0
mov ecx, 0x401b9c
call fcn.00425930
add esp, 8
mov dword [ebp - 0x11c], eax
mov edx, dword [0x449df4]
mov dword [ebp - 0x120], edx
mov ecx, dword [edx]
test ecx, ecx
je 0x4298f6
lea edx, [ecx + 4]
jmp 0x4298eb
mov dword [edx], eax
cmp dword [0x44ddb0], 0
jne 0x42997c
mov dword [ebp - 0xa0], 0xffffffff
mov dword [ebp - 0xa4], 0xffffffff
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0xac], 0xffffffff
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xac]
push eax
push 0x401b84
push 0x44b0f0
call fcn.0042b0a5
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push 0x401b58
push 0x40
lea eax, [ebp - 0x9c]
push eax
call fcn.0042aff8
add esp, 0x30
push 4
push 0x4013e0
lea edx, [ebp - 0x9c]
mov ecx, 0x401358
call fcn.00425930
add esp, 8
mov edx, dword [0x449df4]
mov ecx, dword [edx]
test ecx, ecx
je 0x4299a7
lea edx, [ecx + 4]
jmp 0x42999c
mov dword [edx], eax
jmp 0x429472
call fcn.0044476e
call fcn.0043fc5c
jmp 0x4290cf
call fcn.004406c1
test byte [0x44e700], 2
je 0x43ca5d
lea ecx, [ebp - 0xec]
call fcn.0043fd2a
mov esi, dword [eax]
mov dword [ebp - 0xb4], 3
lea ecx, [ebp - 0xe8]
call fcn.0043fdaf
push esi
push dword [eax]
push dword [0x44dc3c]
push dword [0x44dc38]
call fcn.004425dd
add esp, 0x10
mov ecx, dword [ebp - 0xb4]
test cl, 2
je 0x43ca8a
and ecx, 0xfffffffd
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x43ca8a
push eax
call fcn.0042e442
add esp, 4
mov ecx, dword [ebp - 0xb4]
test cl, 1
je 0x43caa2
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x43caa2
push eax
call fcn.0042e442
add esp, 4
test byte [0x44e700], 2
je 0x4290dc
lea ecx, [ebp - 0x110]
call fcn.0043fddf
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc1], 0
cmp byte [eax + 0xd], 0
jne 0x43cb1c
lea edx, [eax + 0x10]
test byte [0x44e700], 2
je 0x43cb09
lea eax, [edx + 0x18]
cmp dword [eax + 0x14], 8
jb 0x43caec
mov eax, dword [eax]
cmp dword [edx + 0x14], 8
jb 0x43caf4
mov edx, dword [edx]
push eax
push dword [0x44dc3c]
push dword [0x44dc38]
call fcn.0044270f
add esp, 0xc
lea ecx, [ebp - 0xcc]
call fcn.0043fb10
mov eax, dword [ebp - 0xcc]
jmp 0x43cacf
lea ecx, [ebp - 0x110]
call fcn.0042fb3b
jmp 0x4290dc
mov dword [0x44b0e4], 1
jmp 0x4290ff
int3
test eax, eax
jne 0x43cb58
cmp dword [0x44e698], eax
jne 0x429282
mov edx, ebx
call fcn.00440816
mov dword [0x4491ec], 0x41fd48
jmp 0x42928a
or dword [0x44921c], 1
cmp dword [0x44b0a0], 0
je 0x42929c
or dword [0x449240], 1
jmp 0x42929c
cmp dword [0x44dd98], 0
jne 0x4292a9
cmp dword [0x44b904], 0
jne 0x4292a9
push 4
push 0
mov edx, 0x41fce4
mov ecx, 0x40f848
call fcn.00425930
mov esi, eax
push esi
call fcn.00422625
mov ecx, esi
call fcn.00425ad4
push 4
push 0x4013e0
xor edx, edx
mov ecx, 0x41fcf8
call fcn.00425930
add esp, 0x14
mov dword [ebp - 0x114], eax
mov ecx, dword [0x449df4]
mov dword [ebp - 0x118], ecx
mov edx, dword [ecx]
test edx, edx
je 0x43cbf6
lea ecx, [edx + 4]
jmp 0x43cbeb
mov dword [ecx], eax
lea esi, [edi - 1]
jmp 0x4292a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x1f65
call fcn.00422658
add esp, 4
jmp 0x4292cc
mov edx, esi
lea ecx, [ebx + 4]
call fcn.004414a2
jmp 0x4292d9
cmp eax, dword [ebp - 0xb8]
je 0x42930a
movzx ecx, word [eax - 2]
cmp ecx, 0x20
je 0x43cc45
cmp ecx, 9
jne 0x42930a
movzx eax, word [eax + 4]
cmp eax, 0x20
je 0x43cc5c
cmp eax, 9
je 0x43cc5c
test ax, ax
jne 0x42930a
dec esi
mov dword [ebp - 0x104], esi
test esi, esi
jle 0x43cc90
mov eax, dword [ebp - 0xd4]
add eax, 4
mov dword [ebp - 0xd4], eax
push 0x4015fc
push dword [eax]
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
jne 0x42930a
jmp 0x43cc5c
mov dword [0x44e6c4], 1
jmp 0x42930a
push 0x41fd5c
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
mov dword [0x44e6f4], eax
test eax, eax
je 0x42934c
push 0x41fd60
push eax
call fcn.0042c048
add esp, 8
jmp 0x42934c
cmp dword [0x44ddb8], 0
jne 0x42935a
push 1
mov edx, eax
mov ecx, dword [ebp - 0xd8]
call fcn.004240a0
add esp, 4
jmp 0x42935a
call fcn.004419ed
push 0x401170
push dword [0x44e6f4]
call fcn.0042c048
push dword [0x44e6f4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0xc
mov dword [0x44e6f4], 0
jmp 0x42938a
push 0x401170
push 2
call fcn.0042405d
add esp, 8
jmp 0x42939e
or dword [0x449120], 1
or dword [0x449144], 1
or dword [0x4490d8], 1
or dword [0x4490fc], 1
jmp 0x4293bc
mov al, 1
mov byte [ebp - 0xad], al
jmp 0x4296a7
mov byte [ebp - 0xad], 1
mov esi, dword [0x44de2c]
mov dword [ebp - 0x108], 0
mov dword [0x44de2c], 1
push 0
lea eax, [ebp - 0x108]
push eax
mov ecx, 0x44a3ac
call fcn.004239a6
mov edx, eax
call fcn.00424540
add esp, 8
mov dword [0x44de2c], esi
mov dword [0x44c108], 0
jmp 0x4293da
cmp dword [0x44e6c8], 0
je 0x43cde4
push 0x401404
push 0x40fa24
push 0x401404
push 0x4112e8
push 0x1f50
call fcn.00422658
add esp, 0x14
cmp dword [0x44e660], 0
je 0x43ce0e
push 0x401404
push 0x40fa24
push 0x401404
push 0x4113b0
push 0x1f50
call fcn.00422658
add esp, 0x14
cmp dword [0x44e648], 0
je 0x429401
push 0x401404
push 0x40fa24
push 0x401404
push 0x411454
push 0x1f50
call fcn.00422658
add esp, 0x14
jmp 0x429401
cmp dword [0x44e6ac], 0
je 0x43ce6b
push 0x401404
push 0x40fc84
push 0x401404
push 0x40fa7c
push 0x1f50
call fcn.00422658
add esp, 0x14
cmp dword [0x44de30], 0
je 0x42941b
push 0x401404
push 0x40fc90
push 0x401404
push 0x40fa7c
push 0x1f50
call fcn.00422658
add esp, 0x14
jmp 0x42940e
push 0x40fc90
push 0x2355
call fcn.00421ee6
add esp, 8
mov dword [0x44de30], 0
jmp 0x42941b
call fcn.00441484
jmp 0x42944b
mov dword [0x44de18], 0
jmp 0x429458
push 0
mov edx, 1
mov ecx, 0x420368
call fcn.004240a0
add esp, 4
jmp 0x429465
push 4
push 0x4013e0
mov edx, 0x41fd68
mov ecx, 0x401358
call fcn.00425930
add esp, 8
mov dword [ebp - 0x124], eax
mov ecx, dword [0x449df4]
mov dword [ebp - 0x128], ecx
mov edx, dword [ecx]
test edx, edx
je 0x43cf27
lea ecx, [edx + 4]
jmp 0x43cf1c
mov dword [ecx], eax
jmp 0x42947f
mov esi, dword [0x44de2c]
mov dword [ebp - 0xf0], 0
mov dword [0x44de2c], 1
push 0
lea eax, [ebp - 0xf0]
push eax
mov ecx, 0x44a3a0
call fcn.004239a6
mov edx, eax
call fcn.00424540
add esp, 8
mov dword [0x44de2c], esi
mov dword [0x44e668], 0
jmp 0x429491
cmp dword [0x44b900], 2
jl 0x43cf96
push eax
push 0x40130c
push 0x1f64
call fcn.00422658
add esp, 0xc
mov dword [0x44e708], 1
jmp 0x42949e
mov edx, dword [0x44b8fc]
test edx, edx
je 0x4294ab
mov ecx, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x43cfdb
test si, si
je 0x43cfd7
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x43cfdb
add eax, 4
add ecx, 4
test si, si
jne 0x43cfb5
xor eax, eax
jmp 0x43cfe0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4294ab
push edx
push 0x1f69
call fcn.00422658
add esp, 8
jmp 0x4294ab
mov eax, dword [0x449df4]
mov esi, dword [eax]
mov eax, esi
mov dword [ebp - 0xc8], esi
test eax, eax
je 0x4294b8
mov ecx, 0x41fd84
mov eax, dword [esi + 0xc]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43d040
test dx, dx
je 0x43d03c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43d040
add eax, 4
add ecx, 4
test dx, dx
jne 0x43d01a
xor eax, eax
jmp 0x43d045
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43d072
mov ebx, dword [esi + 0x10]
push 0x3d
push ebx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x43d060
cmp eax, ebx
jne 0x43d072
push 0x1f75
call fcn.00422658
add esp, 4
jmp 0x4294b8
mov eax, dword [esi + 4]
mov esi, eax
jmp 0x43d004
cmp dword [0x44e694], 0
jne 0x4294f5
cmp dword [0x44e68c], 0
jne 0x4294f5
push 0
push 0
push 0x41fab4
call edi
mov ebx, eax
test ebx, ebx
je 0x4294f5
lea ecx, [ebx + ebx]
call fcn.00426940
mov esi, eax
push ebx
push esi
push 0x41fab4
call edi
push 0x40
push 0x4013e0
mov edx, esi
mov ecx, 0x41f278
call fcn.00425930
add esp, 8
mov ecx, dword [0x449df4]
mov edx, dword [ecx]
test edx, edx
je 0x43d0e2
lea ecx, [edx + 4]
jmp 0x43d0d7
mov dword [ecx], eax
jmp 0x4294f5
mov dword [0x44904c], 0
jmp 0x429512
mov edx, dword [edi + 0x10]
test edx, edx
je 0x43d173
mov ecx, dword [edi + 0xc]
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43d105
sub ecx, esi
sar ecx, 1
lea esi, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x43d117
sub edx, esi
sar edx, 1
lea esi, [ecx + 2]
add esi, edx
lea ecx, [esi + esi]
call fcn.00426940
mov ebx, eax
push dword [edi + 0xc]
mov edx, esi
mov ecx, ebx
call fcn.00426e98
push dword [edi + 0x10]
mov ecx, eax
sub ecx, ebx
sar ecx, 1
sub esi, ecx
mov edx, esi
mov ecx, eax
call fcn.00426e98
push ebx
push 0x232a
call fcn.00421ee6
add esp, 0x10
test ebx, ebx
je 0x43d183
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x43d183
push dword [edi + 0xc]
push 0x232a
call fcn.00421ee6
add esp, 8
mov edi, dword [edi + 4]
jmp 0x429518
xor ebx, ebx
cmp eax, 0x43
je 0x429546
cmp ecx, 0x4f
sete bl
add ebx, 7
jmp 0x429546
mov dword [esi + 0x14], 8
push dword [esi + 4]
push 0x2340
call fcn.00421ee6
add esp, 8
mov eax, dword [esi + 0x14]
jmp 0x42957a
push dword [esi + 4]
push 0x2343
call fcn.00421ee6
add esp, 8
jmp 0x4295a9
cmp dword [0x44c91c], 0
jne 0x4295b6
push dword [esi + 4]
push 0x1f6d
call fcn.00422658
add esp, 8
jmp 0x4295b6
cmp dword [0x44c91c], 0
jne 0x4295c3
push dword [esi + 4]
push 0x1f70
call fcn.00422658
add esp, 8
jmp 0x4295c3
mov al, 1
jmp 0x4295d8
push 0
call fcn.00422658
add esp, 4
jmp 0x42962f
cmp dword [0x44e6e0], 0
jne 0x429803
jmp 0x4296f9
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
jmp 0x42986c
mov eax, 0x400
mov dword [0x4492e8], eax
jmp 0x429885
mov dword [0x4492e8], esi
jmp 0x42988d
test eax, eax
je 0x43d283
push 0x41fd98
push 0x2346
call fcn.00421ee6
add esp, 8
cmp dword [0x44e6d8], 0
je 0x43d29e
push 0x41fda0
push 0x2346
call fcn.00421ee6
add esp, 8
cmp dword [0x44e6f0], 0
je 0x43d2b9
push 0x41fda8
push 0x2346
call fcn.00421ee6
add esp, 8
cmp dword [0x44e6d4], 0
je 0x43d2d4
push 0x41fdb0
push 0x2346
call fcn.00421ee6
add esp, 8
cmp dword [0x44d1b8], 0
je 0x43d2ef
push 0x41fdcc
push 0x2346
call fcn.00421ee6
add esp, 8
cmp dword [0x44e6dc], 0
je 0x4296f9
push 0x41fdd4
push 0x2346
call fcn.00421ee6
add esp, 8
jmp 0x4296f9
push 0x233d
call fcn.00421ee6
add esp, 4
jmp 0x429672
sub esp, 8
mov ecx, 0x420380
call fcn.0044257e
add esp, 8
jmp 0x429686
mov ecx, 2
jmp 0x429695