Function at 0x407e10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x39c
cmp byte [eax + 5], 0
mov dword [ebp - 0x378], eax
jne 0x4085a0
mov eax, dword [ebp - 0x378]
cmp byte [eax], 0
jne 0x40821e
movzx eax, byte [eax + 2]
mov byte [ebp - 0x370], al
test al, al
jne 0x408185
call fcn.004714f0
xor ecx, ecx
mov dword [ebp - fcn.004652e0], 0x579f44
mov ebx, eax
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
cmp byte [eax + 4], 0
mov dword [ebp - 0x22c], ecx
jne 0x408df8
mov eax, dword [ebp - 0x378]
cmp byte [eax + 0x5c], 0
jne 0x408ddb
mov eax, dword [ebp - 0x378]
cmp byte [eax + 0x5f], 0
je 0x40819b
cmp byte [eax + 4], 0
jne 0x409083
mov eax, dword [ebp - 0x378]
cmp dword [eax + 8], 2
je 0x40819b
mov dword [esp], 0x45
mov ecx, ebx
mov dword [esp + 4], str.warning:___output_format_selected_which_doesnt_use___vim_file_bufnr_n
call fcn.0047f120
push edi
push edi
mov eax, dword [ebp - 0x378]
cmp byte [eax + 0x5e], 0
jne 0x408b47
mov eax, dword [ebp - 0x378]
mov edi, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
lea edx, [edi + eax*4]
cmp edi, edx
je 0x407f68
mov dword [ebp - 0x36c], edx
lea esi, cs:[esi]
mov esi, dword [edi]
mov dword [esp], 0x1a
mov ecx, ebx
add edi, 4
mov dword [esp + 4], str.warning:_flag___language
call fcn.0047f120
sub esp, 8
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], esi
mov ecx, ebx
mov dword [esp], eax
call fcn.0047f120
mov ecx, ebx
sub esp, 8
mov dword [esp], 0x36
mov dword [esp + 4], str._should_be_followed_by_an_input_file_name_or___stdin_n
call fcn.0047f120
sub esp, 8
cmp dword [ebp - 0x36c], edi
jne 0x407f10
mov esi, dword [ebp - 0x378]
cmp dword [esi + 0x40], 0
je 0x407fa1
imul edx, dword [esi + 0x14], 0x18
mov eax, dword [esi + 0x10]
add edx, eax
cmp eax, edx
jne 0x407f9b
jmp 0x408e51
add eax, 0x18
cmp edx, eax
je 0x408e51
cmp byte [eax + 0xd], 0
je 0x407f90
mov eax, dword [ebp - 0x378]
mov esi, dword [eax + 0x44]
mov eax, dword [eax + 0x48]
lea eax, [esi + eax*4]
mov dword [ebp - 0x36c], eax
cmp esi, eax
je 0x408036
lea esi, [esi]
mov dword [esp], 0x1c
mov ecx, ebx
mov dword [esp + 4], str.error:_unrecognized_option:
call fcn.0047f120
mov edi, dword [esi]
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], edi
mov ecx, ebx
mov dword [esp], eax
call fcn.0047f120
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub esp, 8
sub edx, eax
test edx, edx
jg 0x40801b
mov edx, dword [ebx]
mov ecx, ebx
mov edi, dword [edx + 8]
mov edx, dword [ebx + 4]
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call edi
mov eax, dword [ebx + 4]
sub esp, 8
lea edx, [eax + 1]
add esi, 4
mov dword [ebx + 0xc], edx
mov byte [eax], 0xa
cmp dword [ebp - 0x36c], esi
jne 0x407fc0
mov byte [ebp - 0x370], 1
mov eax, dword [ebp - 0x378]
xor edx, edx
lea esi, [ebp - 0x238]
mov dword [ebp - 0x2d0], edx
movzx eax, byte [eax + 0x3c]
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2c8], edx
mov byte [ebp - 0x394], al
mov dword [ebp - 0x2c4], esi
test al, al
jne 0x408b8d
movzx eax, byte [ebp - 0x370]
mov byte [ebp - 0x394], al
xor eax, eax
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c8], eax
lea eax, [ebp - 0x238]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x378]
mov esi, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
xor eax, eax
cmp esi, edi
je 0x40881d
mov dword [ebp - 0x398], ebx
mov edx, eax
mov dword [ebp - 0x390], edi
nop
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
lea edi, [eax + ecx*8]
mov dword [ebp - 0x370], edi
cmp eax, edi
je 0x4086a5
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x38c], esi
lea esi, cs:[esi]
mov eax, dword [ebp - 0x36c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, 3
je 0x408908
lea eax, [ebp - 0x238]
mov esi, str.unknown_error_category:
xor ecx, ecx
mov dword [ebp - 0x388], ebx
mov dword [ebp - 0x27c], eax
mov ebx, esi
xor eax, eax
mov esi, edx
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
jmp 0x408164
movzx ecx, byte [ebx]
add eax, 1
add ebx, 1
mov byte [eax - 1], cl
mov dword [ebp - 0x284], eax
cmp ebx, 0x561851
je 0x408610
mov ecx, dword [ebp - 0x280]
cmp ecx, eax
jne 0x408140
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x408140
mov dword [esp], str.quick_lint_js_version_3.2.0
xor ebx, ebx
call sub.msvcrt.dll_puts
mov dword [esp], ebx
call sub.msvcrt.dll_exit
mov eax, dword [ebp - 0x378]
mov esi, dword [eax + 0x4c]
mov eax, dword [eax + 0x50]
lea edx, [esi + eax*4]
cmp esi, edx
je 0x407edf
mov dword [ebp - 0x36c], edx
lea esi, cs:[esi]
mov dword [esp], 0x21
mov ecx, ebx
add esi, 4
mov dword [esp + 4], str.warning:_flag:___vim_file_bufnr
call fcn.0047f120
mov edi, dword [esi - 4]
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], edi
mov ecx, ebx
mov dword [esp], eax
call fcn.0047f120
mov ecx, ebx
sub esp, 8
mov dword [esp], 0x36
mov dword [esp + 4], str._should_be_followed_by_an_input_file_name_or___stdin_n
call fcn.0047f120
sub esp, 8
cmp dword [ebp - 0x36c], esi
jne 0x4081c0
jmp 0x407edf
mov dword [esp], str.Usage:_quick_lint_js__OPTIONS_..._FILE__FILE...__n_______quick_lint_js___lsp_server_n_nOPTIONS_n
xor esi, esi
call fcn.004015f0
mov dword [esp + 0xc], str.Read_configuration_from_a_JSON_file_for_later_input_files
mov dword [esp + 8], str.__config_file_FILE_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Fail_with_a_non_zero_exit_code_if_any_of_these
mov dword [esp + 8], str.__exit_fail_on_CODES_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.errors_are_found__default:__all__
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Read_standard_input_as_a_JavaScript_file
mov dword [esp + 8], str.__stdin
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Run_in_Language_Server_mode__for_LSP_aware_editors_
mov dword [esp + 8], str.__lsp____lsp_server
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Format_to_print_feedback_where_FORMAT_is_one_of:
mov dword [esp + 8], str.__output_format_FORMAT_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.gnu_like__default_
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.vim_qflist_json
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.emacs_lisp
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Control_whether_to_hyperlink_error_codes_or_not._WHEN_is_one_of:
mov dword [esp + 8], str.__diagnostic_hyperlinks_WHEN_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.auto__default_
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.always
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.never
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Interpret_input_files_as_if_they_were
mov dword [esp + 8], str.__language_LANG_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.written_in_LANG._LANG_is_one_of:
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.default__default_:_use_file_extension
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], 0x561b92
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.javascript_jsx
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.experimental_typescript
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.experimental_typescript_jsx
mov dword [esp + 8], 0x561867
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Print_version_information
mov dword [esp + 8], str._v____version
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Select_a_vim_buffer_for_outputting_feedback
mov dword [esp + 8], str.__vim_file_bufnr_NUMBER_
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Print_help_message
mov dword [esp + 8], str._h____help
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp + 0xc], str.Add_spice_to_your_failures
mov dword [esp + 8], str.__snarky
mov dword [esp + 4], 0x24
mov dword [esp], str.__s_s_n
call fcn.004015f0
mov dword [esp], str._nFor_more_information__visit_https:__quick_lint_js.com_cli__n
call fcn.004015f0
mov dword [esp], esi
call sub.msvcrt.dll_exit
call fcn.00434580
lea eax, [ebp - 0x2d0]
xor edi, edi
lea ecx, [ebp - 0x288]
movd xmm0, eax
lea eax, [ebp - 0x238]
mov edx, 0x561868
mov dword [ebp - 0x2d0], 0x579f19
movd xmm4, eax
mov eax, 0xc
mov dword [ebp - 0x238], edi
punpckldq xmm0, xmm4
mov dword [ebp - 0x234], edi
movq qword [ebp - 0x288], xmm0
call fcn.00464dc0
cmp byte [ebp - 0x234], 0
jne 0x408b7d
mov dword [0x55d01c], 5
jmp 0x407e37
mov ebx, dword [ebp - 0x388]
mov edx, esi
add edi, ebx
cmp edi, ebx
jne 0x408636
jmp 0x408662
movzx ecx, byte [ebx]
add eax, 1
add ebx, 1
mov byte [eax - 1], cl
mov dword [ebp - 0x284], eax
cmp edi, ebx
je 0x408660
cmp eax, dword [ebp - 0x280]
jne 0x408620
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x408620
mov edx, esi
mov ebx, dword [ebp - 0x288]
sub eax, ebx
mov esi, eax
cmp edx, dword [ebp - 0x2c8]
je 0x408928
mov dword [edx], esi
add edx, 8
mov dword [edx - 4], ebx
mov dword [ebp - 0x2cc], edx
add dword [ebp - 0x36c], 8
mov eax, dword [ebp - 0x36c]
cmp dword [ebp - 0x370], eax
jne 0x4080e8
mov esi, dword [ebp - 0x38c]
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x84]
lea edi, [eax + ecx*8]
mov dword [ebp - 0x370], edi
cmp eax, edi
je 0x408805
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x38c], esi
nop
mov eax, dword [ebp - 0x36c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
cmp edi, 3
je 0x4088e8
lea eax, [ebp - 0x238]
mov esi, str.unknown_error_category:
xor ecx, ecx
mov dword [ebp - 0x388], ebx
mov dword [ebp - 0x27c], eax
mov ebx, esi
xor eax, eax
mov esi, edx
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
jmp 0x408748
movzx ecx, byte [ebx]
add eax, 1
add ebx, 1
mov byte [eax - 1], cl
mov dword [ebp - 0x284], eax
cmp ebx, 0x561851
je 0x408770
mov ecx, dword [ebp - 0x280]
cmp ecx, eax
jne 0x408728
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x408728
mov ebx, dword [ebp - 0x388]
mov edx, esi
add edi, ebx
cmp edi, ebx
jne 0x408796
jmp 0x4087c2
movzx ecx, byte [ebx]
add eax, 1
add ebx, 1
mov byte [eax - 1], cl
mov dword [ebp - 0x284], eax
cmp edi, ebx
je 0x4087c0
cmp dword [ebp - 0x280], eax
jne 0x408780
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x408780
mov edx, esi
mov ebx, dword [ebp - 0x288]
sub eax, ebx
mov esi, eax
cmp dword [ebp - 0x2c8], edx
je 0x408940
mov dword [edx], esi
add edx, 8
mov dword [edx - 4], ebx
mov dword [ebp - 0x2cc], edx
add dword [ebp - 0x36c], 8
mov eax, dword [ebp - 0x36c]
cmp dword [ebp - 0x370], eax
jne 0x4086d0
mov esi, dword [ebp - 0x38c]
add esi, 0x8c
cmp dword [ebp - 0x390], esi
jne 0x4080c0
mov ebx, dword [ebp - 0x398]
mov eax, dword [ebp - 0x378]
mov edx, dword [ebp - 0x2cc]
mov esi, dword [eax + 0x30]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x370], esi
mov dword [ebp - 0x36c], eax
cmp eax, esi
je 0x4089f7
mov dword [ebp - 0x38c], ebx
mov esi, edx
lea esi, [esi]
mov eax, dword [ebp - 0x36c]
xor ecx, ecx
mov ebx, str.unknown_error_code:
mov edx, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ebp - 0x238]
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x27c], eax
xor eax, eax
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
jmp 0x4088c4
movzx edx, byte [ebx]
add eax, 1
add ebx, 1
mov byte [eax - 1], dl
mov dword [ebp - 0x284], eax
cmp ebx, 0x561866
je 0x408960
mov ecx, dword [ebp - 0x280]
cmp ecx, eax
jne 0x4088a0
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x4088a0
cmp word [ebx], 0x6c61
jne 0x4086e4
cmp byte [ebx + 2], 0x6c
jne 0x4086e4
jmp 0x4087e6
cmp word [ebx], 0x6c61
jne 0x4080fc
cmp byte [ebx + 2], 0x6c
jne 0x4080fc
jmp 0x408686
lea ecx, [ebp - 0x2d0]
call fcn.00475370
mov edx, dword [ebp - 0x2cc]
jmp 0x408678
lea ecx, [ebp - 0x2d0]
call fcn.00475370
mov edx, dword [ebp - 0x2cc]
jmp 0x4087d8
mov ebx, dword [ebp - 0x388]
add ebx, edi
cmp edi, ebx
jne 0x408986
jmp 0x4089b0
movzx edx, byte [edi]
add eax, 1
add edi, 1
mov byte [eax - 1], dl
mov dword [ebp - 0x284], eax
cmp ebx, edi
je 0x4089b0
cmp dword [ebp - 0x280], eax
jne 0x408970
mov dword [esp], 1
lea ecx, [ebp - 0x288]
call fcn.00418e40
mov eax, dword [ebp - 0x284]
sub esp, 4
jmp 0x408970
mov ebx, dword [ebp - 0x288]
sub eax, ebx
cmp dword [ebp - 0x2c8], esi
je 0x408af2
mov dword [esi], eax
add esi, 8
mov dword [esi - 4], ebx
add dword [ebp - 0x36c], 8
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x2cc], esi
cmp dword [ebp - 0x370], eax
jne 0x408858
mov dword [ebp - 0x388], esi
mov ebx, dword [ebp - 0x38c]
mov edi, dword [ebp - 0x2d0]
cmp dword [ebp - 0x388], edi
je 0x408a7e
lea esi, [esi]
mov eax, dword [edi]
mov esi, dword [edi + 4]
mov dword [esp], 9
mov ecx, ebx
mov dword [esp + 4], 0x561f98
mov dword [ebp - 0x36c], eax
call fcn.0047f120
mov eax, dword [ebp - 0x36c]
mov ecx, ebx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0047f120
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub esp, 8
sub edx, eax
test edx, edx
jg 0x408a6a
mov edx, dword [ebx]
mov ecx, ebx
mov esi, dword [edx + 8]
mov edx, dword [ebx + 4]
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call esi
mov eax, dword [ebx + 4]
sub esp, 8
lea edx, [eax + 1]
add edi, 8
mov dword [ebx + 0xc], edx
mov byte [eax], 0xa
cmp dword [ebp - 0x388], edi
jne 0x408a08
mov ecx, ebx
call fcn.00471300
lea ecx, [ebp - 0x238]
call fcn.004652e0
cmp byte [ebp - 0x394], 0
jne 0x408ae6
mov eax, dword [ebp - 0x378]
cmp byte [eax + 1], 0
jne 0x408b6e
mov eax, dword [ebp - 0x378]
cmp byte [eax + 4], 0
jne 0x40936c
mov eax, dword [ebp - 0x378]
cmp dword [eax + 0x14], 0
jne 0x408e6e
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], str.error:_expected_file_name_n
mov dword [esp], eax
call fcn.004038b0
mov dword [esp], 1
call sub.msvcrt.dll_exit
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x388], eax
call fcn.00475370
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x388]
add dword [ebp - 0x36c], 8
lea esi, [edx + 8]
mov dword [edx], eax
mov eax, dword [ebp - 0x36c]
mov dword [edx + 4], ebx
mov dword [ebp - 0x2cc], esi
cmp dword [ebp - 0x370], eax
jne 0x408858
mov dword [ebp - 0x388], esi
mov ebx, dword [ebp - 0x38c]
jmp 0x4089f7
cmp byte [eax + 4], 0
je 0x407eef
mov dword [esp], 0x32
mov ecx, ebx
mov dword [esp + 4], str.warning:_ignoring___language_in___lsp_server_mode_n
call fcn.0047f120
push esi
push esi
jmp 0x407f68
call fcn.004038e0
xor eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_exit
mov eax, dword [ebp - 0x238]
mov dword [0x55d01c], eax
jmp 0x407e37
mov dword [esp], 1
lea eax, [ebp - 0x288]
xor edi, edi
mov ecx, eax
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x288], edi
mov dword [ebp - 0x284], edi
mov dword [ebp - 0x280], edi
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
add esi, 1
mov byte [esi - 1], 0x2d
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a108
mov byte [esi], 0x2d
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a0e4
mov byte [esi], 0x65
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x409f12
mov byte [esi], 0x78
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x409eee
mov byte [esi], 0x69
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x409eca
mov byte [esi], 0x74
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x409ea6
mov byte [esi], 0x2d
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a6ff
mov byte [esi], 0x66
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a6db
mov byte [esi], 0x61
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a6b7
mov byte [esi], 0x69
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a693
mov byte [esi], 0x6c
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a66f
mov byte [esi], 0x2d
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a64b
mov byte [esi], 0x6f
add esi, 1
mov dword [ebp - 0x284], esi
cmp esi, eax
je 0x40a62d
mov byte [esi], 0x6e
add esi, 1
mov edi, str._must_be_given_at_least_one_category_or_code
mov dword [ebp - 0x284], esi
jmp 0x408d00
movzx eax, byte [edi]
add esi, 1
add edi, 1
mov byte [esi - 1], al
mov dword [ebp - 0x284], esi
cmp edi, 0x561838
je 0x408d23
cmp dword [ebp - 0x280], esi
jne 0x408ce6
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
jmp 0x408ce6
mov edi, dword [ebp - 0x288]
lea ecx, [ebp - 0x2d0]
call fcn.00475370
mov eax, dword [ebp - 0x2cc]
sub esi, edi
mov dword [eax], esi
mov esi, dword [ebp - 0x2d0]
add eax, 8
mov dword [eax - 4], edi
mov dword [ebp - 0x388], eax
cmp eax, esi
je 0x40806e
lea esi, cs:[esi]
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp], 7
mov ecx, ebx
mov dword [esp + 4], str.error:
mov dword [ebp - 0x36c], eax
call fcn.0047f120
mov eax, dword [ebp - 0x36c]
mov ecx, ebx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0047f120
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
sub esp, 8
sub edx, eax
test edx, edx
jg 0x408dc2
mov edx, dword [ebx]
mov ecx, ebx
mov edi, dword [edx + 8]
mov edx, dword [ebx + 4]
sub eax, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call edi
mov eax, dword [ebx + 4]
sub esp, 8
lea edx, [eax + 1]
add esi, 8
mov dword [ebx + 0xc], edx
mov byte [eax], 0xa
cmp dword [ebp - 0x388], esi
jne 0x408d60
jmp 0x40807b
mov dword [esp], 0x37
mov ecx, ebx
mov dword [esp + 4], str.warning:_multiple_standard_input_given_on_command_line_n
call fcn.0047f120
push eax
push eax
jmp 0x407e9d
mov esi, dword [eax + 0x20]
cmp dword [eax + 0x1c], esi
jne 0x409e4f
mov eax, dword [ebp - 0x378]
cmp dword [eax + 8], 0
jne 0x409e89
mov eax, dword [ebp - 0x378]
cmp dword [eax + 0x14], 0
jne 0x409e6c
mov eax, dword [ebp - 0x378]
cmp byte [eax + 0x5d], 0
je 0x407e8d
mov dword [esp], 0x34
mov ecx, ebx
mov dword [esp + 4], str.warning:___config_file_ignored_in___lsp_server_mode_n
call fcn.0047f120
push eax
push eax
jmp 0x407e8d
mov dword [esp], 0x36
mov ecx, ebx
mov dword [esp + 4], str.warning:___stdin_path_has_no_effect_without___stdin_n
call fcn.0047f120
push ecx
push ecx
jmp 0x407fa1
mov eax, dword [ebp - 0x378]
cmp dword [eax + 8], 2
mov ebx, dword [eax + 0xc]
lea esi, [eax + 0x18]
je 0x4090a0
jg 0x40a1ad
mov dword [esp], 0x3c
call fcn.0054fb80
mov dword [eax], 0x5623b0
mov edi, eax
call fcn.004714f0
mov ecx, 0x57bc70
mov dword [edi + 0x34], esi
sub ebx, 1
mov edx, eax
mov eax, dword [0x55d01c]
movd xmm6, ecx
mov byte [edi + 0x28], 0
mov ecx, 0x57bc84
mov dword [edi + 0xc], edx
mov dword [ebp - 0x230], eax
movd xmm0, ecx
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x214]
punpckldq xmm0, xmm6
mov byte [edi + 0x38], 0
mov dword [edi + 0x2c], eax
movq qword [edi + 4], xmm0
sete byte [edi + 0x30]
lea ecx, [ebp - 0x238]
call fcn.004145b0
movzx eax, byte [0x5ec110]
test al, al
je 0x40a5fc
mov dword [ebp - 0x2d0], 0x55d018
xor esi, esi
xor ebx, ebx
call fcn.00471540
mov dword [ebp - 0x2c0], esi
mov dword [ebp - 0x2cc], eax
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x2c8], eax
xor eax, eax
mov dword [ebp - 0x2bc], esi
xor esi, esi
mov dword [ebp - 0x2c4], 1
mov dword [ebp - 0x2b8], 0x3f800000
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], eax
call fcn.00471540
xor edx, edx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2a0], eax
call fcn.00471540
xor ecx, ecx
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], eax
call fcn.00471540
mov dword [ebp - 0x2f8], esi
mov dword [ebp - 0x2f4], esi
mov esi, dword [ebp - 0x378]
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x2f4]
imul edx, dword [esi + 0x14], 0x18
mov dword [ebp - 0x30c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x304], ebx
mov dword [ebp - 0x308], 1
lea esi, [eax + edx]
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], 0x3f800000
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x390], edi
mov esi, dword [ebp - 0x394]
cmp dword [ebp - 0x36c], esi
je 0x40a23c
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x288]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d0]
mov dword [esp], eax
call fcn.00407d90
cmp byte [ebp - 0x288], 0
push ebx
push ebx
je 0x40a12c
mov ebx, dword [ebp - 0x284]
test ebx, ebx
je 0x409077
cmp dword [ebp - 0x300], 0
jne 0x4091d9
mov eax, dword [ebp - 0x304]
test eax, eax
jne 0x409072
jmp 0x40922c
mov eax, dword [eax]
test eax, eax
je 0x40922c
cmp ebx, dword [eax + 4]
jne 0x409068
add dword [ebp - 0x36c], 0x18
jmp 0x408ffe
mov dword [esp], 0x38
mov ecx, ebx
mov dword [esp + 4], str.warning:_ignoring___vim_file_bufnr_in___lsp_server_mode_n
call fcn.0047f120
push eax
push eax
jmp 0x407edf
mov dword [esp], 0x68
xor ebx, ebx
call fcn.0054fb80
mov dword [eax], 0x5623d0
mov edi, eax
call fcn.00471330
mov dword [esp], 0xc
mov dword [ebp - 0x234], eax
mov ecx, eax
mov eax, dword [0x55d01c]
mov dword [esp + 4], str._qflist_:__
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x1f4]
mov dword [ebp - 0x1fc], eax
xor eax, eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - fcn.00401920], 0x57bc5c
mov byte [ebp - 0x218], 0
mov dword [ebp - 0x210], ebx
mov byte [ebp - 0x20c], 0
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 0x1e4], 0
call fcn.004711c0
mov edx, 0x57bc48
cmp byte [ebp - 0x218], 0
push eax
movd xmm0, edx
push eax
mov eax, 0x57bc5c
movd xmm2, eax
mov eax, dword [ebp - 0x234]
mov byte [edi + 0x28], 0
punpckldq xmm0, xmm2
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x230]
movq qword [edi + 4], xmm0
mov dword [edi + 0x10], eax
jne 0x40aa00
lea eax, [edi + 0x34]
mov edx, dword [ebp - 0x210]
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x214]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00485910
mov edx, dword [ebp - 0x1f8]
lea ecx, [edi + 0x44]
push eax
push eax
lea eax, [edi + 0x4c]
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x1fc]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00485910
lea ecx, [ebp - 0x238]
push eax
push eax
movzx eax, byte [ebp - 0x1e4]
mov dword [edi + 0x60], esi
mov byte [edi + 0x5c], al
mov byte [edi + 0x64], 0
call fcn.00401920
jmp 0x408eec
mov edi, dword [ebp - 0x308]
mov eax, ebx
xor edx, edx
div edi
mov eax, dword [ebp - 0x30c]
mov esi, dword [eax + edx*4]
mov dword [ebp - 0x388], edx
test esi, esi
je 0x40922c
mov eax, dword [esi]
jmp 0x409215
mov ecx, dword [eax]
test ecx, ecx
je 0x40922c
mov esi, eax
mov eax, dword [ecx + 0xc]
xor edx, edx
div edi
cmp dword [ebp - 0x388], edx
jne 0x40922c
mov eax, ecx
cmp ebx, dword [eax + 0xc]
jne 0x4091fc
cmp ebx, dword [eax + 4]
jne 0x4091fc
test esi, esi
je 0x40922c
cmp dword [esi], 0
jne 0x409077
mov ecx, dword [ebp - 0x390]
lea edi, [ebp - 0x2f0]
lea esi, [ebp - 0x2f0]
mov eax, dword [ecx]
mov ecx, 6
mov edx, dword [eax + 8]
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x7c]
mov eax, dword [eax]
mov byte [ebp - 0x2e4], 5
mov ecx, dword [ebx + 0x68]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 8], esi
mov esi, dword [ebp - 0x390]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov ecx, esi
sub esp, 0xc
call dword [eax + 0xc]
mov ecx, eax
mov eax, dword [ebx + 0x74]
mov dword [esp], eax
call fcn.00485810
mov ecx, dword [ebp - 0x310]
push eax
mov eax, dword [ecx]
mov dword [esp + 4], 4
mov dword [esp], 0x10
call dword [eax + 8]
xor ecx, ecx
push edx
mov esi, eax
push edx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x300]
mov dword [eax + 4], ebx
test ecx, ecx
jne 0x409da8
mov eax, dword [ebp - 0x304]
jmp 0x4092d7
cmp ebx, dword [eax + 4]
je 0x409e29
mov eax, dword [eax]
test eax, eax
jne 0x4092cc
mov edi, dword [ebp - 0x308]
mov eax, ebx
xor edx, edx
div edi
mov dword [ebp - 0x370], edi
mov dword [ebp - 0x388], edx
mov eax, dword [ebp - 0x370]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x2fc]
mov dword [esp + 8], 1
mov dword [esp], eax
call fcn.004e6c20
mov dword [ebp - 0x370], edx
sub esp, 0xc
test al, al
jne 0x40aac8
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x30c]
mov dword [esi + 0xc], ebx
lea ebx, [ecx + eax*4]
mov eax, dword [ebx]
test eax, eax
je 0x40aa99
mov eax, dword [eax]
mov dword [esi], eax
mov eax, dword [ebx]
mov dword [eax], esi
add dword [ebp - 0x300], 1
cmp byte [ebp - 0x288], 0
jne 0x409077
lea ecx, [ebp - 0x284]
call fcn.00401ad0
jmp 0x409077
mov edx, 0x562380
mov eax, 0x56239c
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp], 0xfffffff6
movd xmm3, edx
movd xmm5, eax
punpckldq xmm3, xmm5
movq qword [ebp - 0x378], xmm3
call ebx
push edx
mov esi, eax
mov dword [esp], 0xfffffff5
call ebx
movq xmm3, qword [ebp - 0x378]
xor ebx, ebx
mov dword [ebp - fcn.00434ac0], 0x562344
push ecx
mov dword [ebp - 0x22c], ebx
movq qword [ebp - 0x238], xmm3
mov dword [esp], 0x38
mov dword [ebp - 0x36c], eax
call fcn.0054fb80
mov ecx, 0xe
mov ebx, eax
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
xor edi, edi
mov dword [esp], 0xffffffff
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], edi
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [ebx], eax
sub eax, 1
sub esp, 0x10
cmp eax, 0xfffffffd
ja 0x40a0c3
xor eax, eax
lea edi, [ebx + 8]
mov ecx, 0xc
mov dword [ebx + 4], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebx + 8], 0x579f44
lea edi, [ebx + 4]
call fcn.00471540
xor edx, edx
mov dword [ebx + 0x20], 1
mov dword [ebx + 0x18], eax
lea eax, [ebx + 0x34]
mov dword [ebx + 0x1c], eax
xor eax, eax
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], 0x3f800000
mov dword [esp], edi
mov dword [ebp - 0x228], ebx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
push ecx
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov dword [esp + 4], 4
mov dword [esp], 4
call dword [eax + 8]
push ebx
push ebx
mov ebx, eax
lea eax, [ebp - 0x238]
mov dword [ebx], eax
mov dword [esp], edi
call fcn.004863d0
mov eax, dword [ebp - 0x228]
mov edx, 0x5622f4
mov dword [ebp - 0x224], ebx
push edi
mov edi, 0x5622d4
movd xmm6, edx
mov eax, dword [eax]
movd xmm0, edi
mov dword [ebp - 0x214], ebx
xor ebx, ebx
punpckldq xmm0, xmm6
xor edi, edi
movq qword [ebp - 0x220], xmm0
mov dword [ebp - 0x218], eax
call fcn.00471540
pxor xmm0, xmm0
mov dword [ebp - 0x1d8], esi
xor esi, esi
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x1f4]
mov dword [ebp - 0x20c], eax
xor eax, eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
xor eax, eax
mov dword [ebp - 0x1f8], eax
xor eax, eax
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x220]
movups xmmword [ebp - 0x1f4], xmm0
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x1fc], 0x3f800000
mov dword [ebp - 0x1d4], 0x562358
mov dword [ebp - fcn.004406b0], 0x562324
mov dword [ebp - 0x1cc], 0x56230c
mov dword [ebp - 0x1c8], eax
call fcn.00471540
mov dword [ebp - 0x1bc], 1
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1c0], eax
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
xor eax, eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1b0], 0x3f800000
mov dword [ebp - 0x1a4], eax
call fcn.00471540
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x184]
mov dword [ebp - 0x194], edx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x18c], 0x3f800000
call fcn.00471540
mov dword [ebp - 0x180], ebx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
xor ebx, ebx
mov dword [ebp - 0x174], eax
call fcn.00471540
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x170], esi
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x164], eax
call fcn.004145b0
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x108], eax
call fcn.00471540
mov dword [ebp - 0xf8], 1
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0xec], 0x3f800000
mov dword [ebp - 0xe0], 0x579f44
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
call fcn.00471540
xor ecx, ecx
xor edx, edx
xor esi, esi
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xbc], ecx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xc8], edx
mov byte [ebp - 0xb8], 0
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], esi
mov word [ebp - 0x94], 0
xchg dword [0x5ec108], eax
mov dword [esp + 4], 4
mov dword [esp], 4
call fcn.00462a60
mov ebx, eax
lea eax, [ebp - 0x1d0]
push edi
push edi
mov dword [ebx], eax
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0xa0], eax
je 0x40a0b3
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov dword [eax + 0xc], ebx
add eax, 0x10
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
mov dword [eax - 0x10], 0x1f
mov dword [eax - 0xc], 0x562000
mov dword [eax - 8], 0x448690
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov dword [esp], eax
mov dword [ebp - 0x90], 0x562288
call ebx
lea eax, [ebp - 0x74]
push esi
mov dword [esp], eax
call ebx
xor eax, eax
mov word [ebp - 0x58], 0
push edi
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [esp], 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], eax
call fcn.0054fb80
mov ebx, eax
lea eax, [ebp - 0x8c]
mov dword [ebx], eax
lea eax, [ebp - 0x288]
mov dword [esp + 4], ebx
mov ecx, eax
mov dword [esp], 0x439ea0
mov dword [ebp - 0x36c], eax
call fcn.00473f70
mov dword [ebp - 0x284], ebx
push eax
push eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x280], 0x435200
lea edx, [eax - 1]
cmp edx, 0xfffffffd
jbe 0x40a094
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x288]
xor ebx, ebx
xor esi, esi
mov edx, dword [ebp - 0x284]
xor edi, edi
mov dword [ebp - 0x288], ecx
xor ecx, ecx
mov dword [ebp - 0x284], ecx
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x280], ebx
or ebx, 0xffffffff
mov dword [ebp - 0x80], eax
call fcn.00466aa0
mov dword [ebp - 0x90], 0x56236c
call fcn.00471540
mov dword [esp], 0x18
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x3c], eax
call fcn.0054fb80
xor edx, edx
xor ecx, ecx
mov dword [eax + 0x14], edx
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov byte [eax], 1
mov dword [eax + 0x10], 0x400
mov dword [ebp - 0x38], eax
call fcn.00471540
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
call fcn.00436be0
mov dword [esp], eax
mov ebx, eax
call sub.KERNEL32.dll_AcquireSRWLockExclusive
push esi
mov dword [esp], 0x55d008
call fcn.004964e0
mov edx, dword [ebx + 0x24]
mov edi, eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x388], eax
add eax, 1
adc edx, 0
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esp], 0x40
movd xmm0, eax
movhps xmm0, qword [ebp - 0x388]
movups xmmword [ebp - 0x388], xmm0
call fcn.0054fb80
mov esi, eax
call fcn.00471540
mov dword [esi], eax
mov ecx, eax
mov eax, dword [eax]
mov dword [esp + 4], 8
mov dword [esp], 0x418
call dword [eax + 8]
xor ecx, ecx
movdqu xmm0, xmmword [ebp - 0x388]
push edx
movd xmm1, eax
push edx
lea edx, [eax + 0x18]
punpckldq xmm1, xmm1
movd xmm2, edx
lea edx, [eax + 0x418]
mov dword [eax], ecx
movd xmm7, edx
mov dword [eax + 4], ecx
punpckldq xmm2, xmm7
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
punpcklqdq xmm1, xmm2
mov dword [eax + 0x10], 0x400
mov dword [esi + 0x14], eax
xor eax, eax
mov dword [esi + 0x18], eax
movups xmmword [esi + 4], xmm1
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x1c], esi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x38], edi
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x370], eax
movups xmmword [esi + 0x28], xmm0
cmp eax, dword [ebx + 0x1c]
je 0x409f66
mov dword [eax], esi
xor edx, edx
add eax, 4
mov dword [ebp - 0x288], edx
mov dword [ebx + 0x18], eax
mov ecx, dword [ebp - 0x36c]
call fcn.00436b80
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x38c], ebx
mov esi, dword [ebx + 8]
mov edi, dword [eax - 4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x388], eax
lea eax, [edi + 0x1c]
mov dword [ebp - 0x370], eax
jmp 0x409a65
mov ebx, dword [esi]
mov edx, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov eax, dword [ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, ebx
call dword [eax + 8]
mov edx, ebx
push eax
push eax
mov eax, edi
call fcn.00480fd0
mov eax, dword [edi + 0x38]
mov edx, dword [ebp - 0x370]
xchg dword [eax], edx
add esi, 4
cmp dword [ebp - 0x388], esi
jne 0x409a36
mov ebx, dword [ebp - 0x38c]
mov dword [esp], ebx
call fcn.004863d0
mov dword [ebp - 0x288], ebx
push esi
mov dword [esp], ebx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [ebp - 0x36c]
push edi
call fcn.00481300
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call fcn.004863d0
push eax
mov dword [esp], 4
call fcn.0054fb80
lea ecx, [ebx + 0x34]
mov dword [eax], ebx
mov esi, eax
mov dword [esp + 4], eax
mov dword [esp], 0x439db0
call fcn.00473f70
push eax
push eax
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], 0x435220
lock add dword [ebp - 0x22c], 1
lea eax, [ebp - 0x234]
lea ecx, [ebp - 0x230]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1d8]
mov dword [esp], eax
call fcn.0042e070
lea ecx, [ebp - 0x238]
push eax
push eax
call fcn.00402810
lea ecx, [ebp - 0x230]
call fcn.00434ac0
movq xmm6, qword [ebp - 0x378]
mov ebx, dword [ebp - 0x34]
movq qword [ebp - 0x238], xmm6
test ebx, ebx
je 0x409bb1
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], ebx
je 0x409b8f
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
mov esi, eax
cmp eax, edi
je 0x409b67
lea esi, [esi]
mov eax, dword [esi]
test eax, eax
je 0x409b5e
mov dword [esp], eax
call fcn.0054fb20
add esi, 8
cmp edi, esi
jne 0x409b50
mov eax, dword [ebx]
test eax, eax
je 0x409b8a
mov ecx, dword [ebx + 0xc]
mov esi, dword [ecx]
mov dword [esp + 8], 4
mov edx, dword [ebx + 4]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call dword [esi + 0xc]
sub esp, 0xc
add ebx, 0x18
jmp 0x409b36
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov edx, dword [ecx]
mov dword [esp + 8], 4
sub eax, ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [edx + 0xc]
sub esp, 0xc
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409be3
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x409bc7
mov dword [esp], eax
call fcn.0054fb20
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x409bd3
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov dword [esp + 4], 0x18
mov dword [esp], ebx
call fcn.0054fb40
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x409c09
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov ebx, dword [ecx]
sub edx, eax
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [ebx + 0xc]
sub esp, 0xc
lea eax, [ebp - 0x78]
mov byte [ebp - 0x57], 1
mov dword [esp], eax
mov dword [ebp - 0x90], 0x56236c
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov eax, dword [ebp - 0x88]
push ecx
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
add eax, 1
push ebx
push ebx
je 0x40a073
mov eax, dword [ebp - 0x88]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], eax
call ebx
push edx
test eax, eax
je 0x40a051
mov eax, dword [ebp - 0x84]
xor esi, esi
xor edi, edi
mov dword [ebp - 0x88], esi
mov dword [esp], eax
call dword [ebp - 0x80]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
call fcn.0044cf50
mov eax, dword [ebp - 0x88]
lea edx, [eax - 1]
cmp edx, 0xfffffffd
jbe 0x409f36
lea ecx, [ebp - 0x1d0]
call fcn.004406b0
lea ecx, [ebp - 0x220]
call fcn.004a89d0
mov esi, dword [ebp - 0x228]
mov dword [ebp - fcn.00434ac0], 0x562344
test esi, esi
je 0x409d9e
mov edi, dword [esi + 0x24]
xchg ebx, edi
jmp 0x409cf2
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 4], 0x28
call dword [eax + 0xc]
mov ebx, dword [ebp - 0x36c]
sub esp, 0xc
test ebx, ebx
je 0x409d32
mov eax, dword [ebx]
mov dword [ebp - 0x36c], eax
mov eax, dword [ebx + 0x14]
lea ecx, [eax - 1]
cmp ecx, 0xfffffffd
ja 0x409cce
mov dword [esp], eax
call edi
push edx
test eax, eax
jne 0x409cce
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], 0x5612c1
mov dword [esp], eax
call fcn.004038b0
jmp 0x409cce
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
shl eax, 2
mov dword [esp], edx
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call fcn.004a0ad0
mov ebx, dword [esi + 0x1c]
xor eax, eax
lea edx, [esi + 0x34]
mov dword [esi + 0x28], eax
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x20]
cmp ebx, edx
je 0x409d7f
mov ecx, dword [esi + 0x18]
shl eax, 2
mov edx, dword [ecx]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [edx + 0xc]
sub esp, 0xc
lea ecx, [esi + 8]
call fcn.004652e0
mov ecx, esi
call fcn.00466aa0
mov dword [esp + 4], 0x38
mov dword [esp], esi
call fcn.0054fb40
xor eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_exit
mov edi, dword [ebp - 0x308]
mov eax, ebx
xor edx, edx
div edi
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x370], edi
mov edi, dword [eax + edx*4]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x388], edx
test edi, edi
je 0x4092f3
mov dword [ebp - 0x38c], esi
mov eax, dword [edi]
jmp 0x409e08
mov esi, dword [eax]
test esi, esi
je 0x40a723
mov edi, eax
mov eax, dword [esi + 0xc]
xor edx, edx
div dword [ebp - 0x370]
mov eax, dword [ebp - 0x398]
cmp edx, eax
jne 0x40a723
mov eax, esi
cmp ebx, dword [eax + 0xc]
jne 0x409de1
cmp ebx, dword [eax + 4]
jne 0x409de1
mov esi, dword [ebp - 0x38c]
test edi, edi
je 0x4092f3
cmp dword [edi], 0
je 0x4092f3
mov ecx, dword [ebp - 0x310]
mov eax, dword [ecx]
mov dword [esp + 8], 4
mov dword [esp + 4], 0x10
mov dword [esp], esi
call dword [eax + 0xc]
sub esp, 0xc
jmp 0x40934f
mov dword [esp], 0x32
mov ecx, ebx
mov dword [esp + 4], str.warning:___exit_fail_on_ignored_with___lsp_server_n
call fcn.0047f120
push edx
push edx
jmp 0x408e04
mov dword [esp], 0x43
mov ecx, ebx
mov dword [esp + 4], str.warning:_ignoring_files_given_on_command_line_in___lsp_server_mode_n
call fcn.0047f120
push eax
push eax
jmp 0x408e24
mov dword [esp], 0x33
mov ecx, ebx
mov dword [esp + 4], str.warning:___output_format_ignored_with___lsp_server_n
call fcn.0047f120
push eax
push eax
jmp 0x408e14
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408c47
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408c33
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408c1f
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408c0b
mov dword [esp], eax
call ebx
push ecx
test eax, eax
jne 0x409c99
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], 0x5612c1
mov dword [esp], eax
call fcn.004038b0
jmp 0x409c99
mov edi, dword [ebx + 0x14]
mov eax, dword [ebp - 0x370]
sub eax, edi
mov dword [ebp - 0x388], eax
sar eax, 2
cmp eax, 0x1fffffff
je 0x40a9d2
cmp dword [ebp - 0x370], edi
je 0x40a9ac
lea esi, [eax + eax]
cmp esi, eax
jb 0x40a9cb
xor ecx, ecx
test esi, esi
jne 0x40a9b3
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], edi
mov dword [ebp - 0x390], esi
mov esi, dword [ebp - 0x370]
mov dword [ecx + edx], eax
xor eax, eax
mov dword [ebp - 0x288], eax
mov eax, edi
mov edi, ecx
mov dword [ebp - 0x388], ecx
jmp 0x40a000
mov ecx, dword [eax]
mov edx, dword [ebp - 0x388]
mov dword [ebp - 0x370], eax
mov dword [edx - 4], ecx
xor edx, edx
mov ecx, eax
mov dword [eax], edx
call fcn.00436b80
mov eax, dword [ebp - 0x370]
add eax, 4
add dword [ebp - 0x388], 4
cmp esi, eax
jne 0x409fdb
mov ecx, edi
mov edi, dword [ebp - 0x38c]
mov esi, dword [ebp - 0x390]
test edi, edi
je 0x40a03a
mov eax, dword [ebx + 0x1c]
mov dword [esp], edi
mov dword [ebp - 0x370], ecx
sub eax, edi
mov dword [esp + 4], eax
call fcn.0054fb40
mov ecx, dword [ebp - 0x370]
mov eax, dword [ebp - 0x388]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], eax
lea eax, [ecx + esi*4]
mov dword [ebx + 0x1c], eax
jmp 0x409a08
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], 0x5612c1
mov dword [esp], eax
call fcn.004038b0
jmp 0x409c60
mov ecx, 0x562020
mov edx, 0x59
mov eax, 0x562028
mov dword [esp], 0x56206b
call fcn.00467dc0
int3
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
test eax, eax
je 0x40a9de
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x409856
lea ecx, [ebp - 0xa8]
call fcn.00475610
jmp 0x409767
mov ecx, str.create_io_completion_port
mov edx, 0x1f1
mov eax, str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_io_event_loop.h
mov dword [esp], 0x5610c1
call fcn.00467dc0
int3
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
push edx
jmp 0x408bf7
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
push ecx
jmp 0x408be3
mov ebx, dword [ebp - 0x280]
lea eax, [ebp - 0x2e8]
mov esi, dword [ebp - 0x284]
mov dword [ebp - 0x2f0], eax
cmp ebx, 0xf
ja 0x40a966
cmp ebx, 1
jne 0x40a949
movzx eax, byte [esi]
mov byte [ebp - 0x2e8], al
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2ec], ebx
mov byte [eax + ebx], 0
mov ebx, dword [ebp - 0x2f0]
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.error:__s_n
mov dword [esp], eax
call fcn.004038b0
lea ecx, [ebp - 0x2f0]
call fcn.00539180
mov dword [esp], 1
call sub.msvcrt.dll_exit
mov dword [esp], 0x28
call fcn.0054fb80
mov dword [eax], 0x562418
mov edi, eax
call fcn.00471330
mov ebx, eax
mov eax, dword [0x55d01c]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x230], eax
mov eax, dword [ebx + 0xc]
sub edx, eax
test edx, edx
jg 0x40a1fc
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
sub eax, ecx
mov edx, dword [edx + 8]
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp], eax
call edx
push eax
push eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], eax
lea edx, [eax + 1]
mov dword [ebx + 0xc], edx
mov edx, 0x562404
mov byte [eax], 0x28
mov eax, 0x5623f0
movd xmm0, edx
movd xmm5, eax
mov eax, dword [ebp - 0x230]
mov dword [edi + 0xc], ebx
punpckldq xmm0, xmm5
mov byte [edi + 0x1c], 0
mov dword [edi + 0x10], eax
mov dword [edi + 0x20], esi
mov byte [edi + 0x24], 0
movq qword [edi + 4], xmm0
jmp 0x408eec
mov edi, dword [ebp - 0x390]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
test al, al
jne 0x40a5d1
mov esi, dword [ebp - 0x378]
mov dword [ebp - 0x394], edi
imul edx, dword [esi + 0x14], 0x18
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x388], eax
lea esi, [eax + edx]
mov dword [ebp - 0x398], esi
jmp 0x40a376
mov dword [esp], 0xfffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, str._stdin_
push ebx
mov ecx, eax
lea eax, [ebp - 0x2f0]
call fcn.00470e10
cmp byte [ebp - 0x2f0], 0
je 0x40a8f6
mov esi, dword [ebp - 0x388]
mov eax, dword [ebp - 0x378]
mov edx, dword [esi]
cmp byte [esi + 0xd], 0
movzx ebx, byte [esi + 0xc]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x36c], edx
je 0x40a2d1
test eax, eax
cmove eax, edx
mov dword [ebp - 0x36c], eax
cmp bl, 5
je 0x40a42f
mov edi, dword [ebp - 0x394]
mov eax, dword [ebp - 0x378]
mov edx, dword [ebp - 0x388]
movzx esi, byte [eax + 3]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 8]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x2ec]
mov dword [esp], edx
mov edx, dword [ebp - 0x2e8]
mov dword [esp + 4], edx
call eax
mov eax, dword [edi]
mov ecx, edi
sub esp, 0xc
call dword [eax + 0xc]
mov byte [esp], bl
mov edx, dword [ebp - 0x2e8]
mov ecx, eax
mov eax, esi
mov byte [esp + 8], al
mov eax, dword [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2ec]
call fcn.00484c00
cmp byte [ebp - 0x2f0], 0
je 0x40a3e3
mov eax, dword [ebp - 0x2ec]
cmp eax, 0x5ec0c0
je 0x40a362
mov dword [esp], eax
call fcn.004a0a88
cmp byte [ebp - 0x288], 0
je 0x40a41f
add dword [ebp - 0x388], 0x18
mov esi, dword [ebp - 0x398]
cmp dword [ebp - 0x388], esi
je 0x40a5cb
mov eax, dword [ebp - 0x388]
lea ecx, [ebp - 0x288]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d0]
mov dword [esp], eax
call fcn.00407d90
mov eax, dword [ebp - 0x284]
push esi
push esi
test eax, eax
je 0x40a411
add eax, 0x10
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x388]
cmp byte [eax + 0xd], 0
jne 0x40a278
mov eax, dword [ebp - 0x388]
mov edx, dword [eax]
lea eax, [ebp - 0x2f0]
call fcn.00473340
jmp 0x40a298
mov edx, dword [ebp - 0x2ec]
lea eax, [ebp - 0x2e4]
cmp edx, eax
je 0x40a362
mov eax, dword [ebp - 0x2e4]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.0054fb40
jmp 0x40a362
lea eax, [ebp - 0x238]
mov dword [ebp - 0x390], eax
jmp 0x40a3bb
lea ecx, [ebp - 0x284]
call fcn.00401ad0
jmp 0x40a36f
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ebx, eax
mov esi, eax
cmp eax, 4
je 0x40a810
cmp eax, 3
je 0x40a8bf
cmp eax, 1
ja 0x40a822
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x344], eax
cmp ebx, 1
jne 0x40a7e7
mov eax, dword [ebp - 0x36c]
movzx eax, byte [eax]
mov byte [ebp - 0x33c], al
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x340], ebx
mov byte [eax + ebx], 0
mov edx, dword [ebp - 0x344]
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x38c], eax
call fcn.004728f0
cmp byte [ebp - 0x314], 0
je 0x40a862
mov eax, dword [ebp - 0x328]
mov esi, dword [ebp - 0x32c]
lea ecx, [eax + eax]
mov edx, esi
lea edi, [esi + ecx]
jmp 0x40a4de
cmp word [edx], 0x2f
jne 0x40a4db
mov word [edx], 0x5c
add edx, 2
cmp edi, edx
jne 0x40a4d0
lea edx, [ebp - 0x354]
lea edi, [ebp - 0x324]
mov dword [ebp - 0x35c], edx
cmp esi, edi
je 0x40a7db
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x35c], esi
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x370]
cmp ecx, eax
je 0x40a539
mov eax, dword [ebp - 0x33c]
mov dword [esp], ecx
add eax, 1
mov dword [esp + 4], eax
call fcn.0054fb40
lea eax, [ebp - 0x35c]
call fcn.00469760
mov eax, dword [ebp - 0x35c]
mov dword [esp], eax
call dword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchIsRoot]
mov ecx, dword [ebp - 0x35c]
test eax, eax
push edx
lea edx, [ebp - 0x354]
je 0x40a72e
cmp ecx, edx
je 0x40a583
mov eax, dword [ebp - 0x354]
mov dword [esp], ecx
add eax, 1
add eax, eax
mov dword [esp + 4], eax
call fcn.0054fb40
mov dword [ebp - 0x36c], 0x561867
xor ebx, ebx
mov ecx, dword [ebp - 0x36c]
mov eax, dword [ebp - 0x38c]
mov edx, ebx
call fcn.0044cc60
cmp byte [ebp - 0x32a], 0
jne 0x40a991
cmp byte [ebp - 0x32b], 0
je 0x40a987
movzx eax, byte [ebp - 0x32c]
lea ebx, [eax + 2]
jmp 0x40a2da
mov edi, dword [ebp - 0x394]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x10]
test al, al
je 0x409d9e
mov eax, dword [ebp - 0x378]
cmp dword [eax + 8], 3
je 0x409d9e
jmp 0x408ae6
mov dword [esp], 0x5ec110
call fcn.0054ffc0
test eax, eax
je 0x408f06
mov dword [esp], 0x4015b0
call fcn.004013f0
mov dword [esp], 0x5ec110
call fcn.00550090
jmp 0x408f06
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
jmp 0x408cd3
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408cbf
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
push edx
jmp 0x408cab
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
push ecx
jmp 0x408c97
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov eax, dword [ebp - 0x280]
push esi
mov esi, dword [ebp - 0x284]
jmp 0x408c83
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x280]
push edi
jmp 0x408c6f
mov dword [esp], 1
mov ecx, dword [ebp - 0x36c]
call fcn.00418e40
mov esi, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x280]
jmp 0x408c5b
mov esi, dword [ebp - 0x38c]
jmp 0x4092f3
cmp ecx, edx
je 0x40a749
mov eax, dword [ebp - 0x354]
mov dword [esp], ecx
add eax, 1
add eax, eax
mov dword [esp + 4], eax
call fcn.0054fb40
test ebx, ebx
je 0x40a58f
lea esi, [ebx - 1]
mov edi, esi
jmp 0x40a75d
sub edi, 1
jb 0x40a79d
mov eax, dword [ebp - 0x36c]
mov dword [esp + 8], 2
movsx eax, byte [eax + edi]
mov dword [esp], 0x562124
mov dword [esp + 4], eax
call sub.msvcrt.dll_memchr
test eax, eax
jne 0x40a758
add edi, 1
cmp ebx, edi
cmova ebx, edi
lea esi, [ebx - 1]
jmp 0x40a79d
lea eax, [esi - 1]
test esi, esi
je 0x40a58f
mov esi, eax
mov eax, dword [ebp - 0x36c]
mov dword [esp + 8], 2
movsx eax, byte [eax + esi]
mov dword [esp], 0x562124
mov dword [esp + 4], eax
call sub.msvcrt.dll_memchr
test eax, eax
je 0x40a790
add esi, 1
cmp ebx, esi
jb 0x40a883
add dword [ebp - 0x36c], esi
sub ebx, esi
jmp 0x40a58f
add ecx, 2
mov edi, edx
rep movsb byte es:[edi], byte [esi]
jmp 0x40a50e
test ebx, ebx
je 0x40a486
mov eax, dword [ebp - 0x370]
mov esi, dword [ebp - 0x36c]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.msvcrt.dll_memcpy
jmp 0x40a486
mov eax, dword [ebp - 0x36c]
cmp dword [eax], 0x5c3f5c5c
je 0x40a8e5
mov eax, dword [ebp - 0x36c]
cmp byte [eax + 1], 0x3a
je 0x40a89f
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x344], eax
cmp ebx, 0xf
jbe 0x40a46e
lea eax, [ebx + 1]
mov dword [esp], eax
call fcn.0054fb80
mov dword [ebp - 0x33c], ebx
mov dword [ebp - 0x344], eax
jmp 0x40a7f5
mov ecx, str.wide_path_with_backslashes
mov edx, 0x33
mov eax, 0x5620e0
mov dword [esp], 0x5610c1
call fcn.00467dc0
int3
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 0x561746
mov dword [esp], 0x561760
call fcn.0054ad90
mov edx, eax
movzx eax, byte [eax]
and eax, 0xffffffdf
sub eax, 0x41
cmp al, 0x19
ja 0x40a82e
add edx, 2
lea ebx, [esi - 2]
mov dword [ebp - 0x36c], edx
jmp 0x40a82e
mov eax, dword [ebp - 0x36c]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x5620c0
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x40a822
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x38c], eax
jmp 0x40a583
lea eax, [ebp - 0x2ec]
lea ecx, [ebp - 0x32c]
mov dword [esp], eax
call fcn.004717b0
mov ebx, dword [ebp - 0x32c]
push ecx
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.error:__s_n
mov dword [esp], eax
call fcn.004038b0
lea ecx, [ebp - 0x32c]
call fcn.00539180
mov dword [esp], 1
call sub.msvcrt.dll_exit
test ebx, ebx
je 0x40a15f
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x40a15f
test ebx, ebx
js 0x40a9a0
mov eax, ebx
add eax, 1
js 0x40a99b
mov dword [esp], eax
call fcn.0054fb80
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x2f0], eax
jmp 0x40a951
mov ebx, 1
jmp 0x40a2da
mov ebx, 4
jmp 0x40a2da
call fcn.005523a0
mov dword [esp], 0x561314
call fcn.00552550
add eax, 1
mov esi, eax
jb 0x40a9cb
mov eax, 0x1fffffff
cmp esi, eax
cmova esi, eax
mov eax, esi
call fcn.0047f200
mov ecx, eax
jmp 0x409fa6
mov esi, 0x1fffffff
jmp 0x40a9bd
mov dword [esp], 0x56132c
call fcn.00552550
mov dword [esp], 2
call dword [0x55efb0]
mov dword [esp + 4], 0x5612c1
mov dword [esp], eax
call fcn.004038b0
jmp 0x40a0a6
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x228]
xor ecx, ecx
xor ebx, ebx
mov dword [edi + 0x1c], ecx
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x224]
mov dword [edi + 0x18], edx
mov edx, eax
sar eax, 2
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ecx
je 0x40aa45
mov dword [ebp - 0x36c], edx
call fcn.0047f200
mov edx, dword [ebp - 0x36c]
mov ebx, eax
lea eax, [ebx + edx]
mov edx, dword [ebp - 0x220]
movd xmm0, ebx
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x224]
punpckldq xmm0, xmm0
movq qword [edi + 0x1c], xmm0
sub edx, eax
cmp edx, 4
jle 0x40ac0c
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [ebp - 0x36c], edx
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x36c]
add ebx, edx
mov byte [edi + 0x28], 1
mov dword [edi + 0x20], ebx
jmp 0x40916e
mov eax, dword [ebp - 0x304]
mov dword [esi], eax
mov dword [ebp - 0x304], esi
mov eax, dword [esi]
test eax, eax
je 0x40aabb
mov eax, dword [eax + 0xc]
xor edx, edx
div dword [ebp - 0x308]
mov dword [ecx + edx*4], esi
lea eax, [ebp - 0x304]
mov dword [ebx], eax
jmp 0x409348
sub edx, 1
je 0x40abf3
mov ecx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x370]
lea edi, [eax*4]
mov eax, dword [ecx]
mov dword [esp + 4], 4
mov dword [esp], edi
call dword [eax + 8]
xor ecx, ecx
push edx
push edx
mov dword [ebp - 0x388], eax
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004a0ad0
xor edi, edi
mov ecx, dword [ebp - 0x304]
mov dword [ebp - 0x38c], edi
mov dword [ebp - 0x304], edi
jmp 0x40ab3e
mov edx, dword [edi]
mov dword [ecx], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0x38c]
mov dword [eax], ecx
mov dword [ebp - 0x38c], edx
mov ecx, dword [ebp - 0x398]
test ecx, ecx
je 0x40ab90
mov eax, dword [ecx]
xor edx, edx
mov dword [ebp - 0x398], eax
mov eax, dword [ecx + 0xc]
div dword [ebp - 0x370]
mov eax, dword [ebp - 0x388]
lea eax, [eax + edx*4]
mov edi, dword [eax]
test edi, edi
jne 0x40ab24
mov edi, dword [ebp - 0x304]
mov dword [ecx], edi
lea edi, [ebp - 0x304]
mov dword [ebp - 0x304], ecx
mov dword [eax], edi
cmp dword [ecx], 0
je 0x40ab32
mov eax, dword [ebp - 0x388]
mov edi, dword [ebp - 0x38c]
mov dword [eax + edi*4], ecx
jmp 0x40ab32
mov ecx, dword [ebp - 0x30c]
lea edx, [ebp - 0x2f4]
mov eax, dword [ebp - 0x308]
cmp ecx, edx
je 0x40abc8
mov edi, dword [ebp - 0x310]
shl eax, 2
mov edx, dword [edi]
mov dword [esp], ecx
mov ecx, edi
mov dword [esp + 8], 4
mov dword [esp + 4], eax
call dword [edx + 0xc]
sub esp, 0xc
mov edx, dword [ebp - 0x370]
mov eax, dword [ebp - 0x388]
mov edi, edx
mov dword [ebp - 0x308], edx
xor edx, edx
mov dword [ebp - 0x30c], eax
mov eax, ebx
div edi
mov dword [ebp - 0x388], edx
jmp 0x409324
xor edi, edi
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x2f4], edi
mov dword [ebp - 0x388], eax
jmp 0x40ab0e
jne 0x40aa8b
mov eax, dword [eax]
mov dword [ebx], eax
jmp 0x40aa8b