Function at 0x41b680
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x1c
mov edx, dword [0x44a22c]
mov eax, dword [eax]
test edx, edx
mov dword [esp + 8], eax
jne 0x41b99a
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Usage:__s__options__input_file___output_file___n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xf
mov dword [esp + 4], 1
mov dword [esp], str.Legal_options:_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x28
mov dword [esp + 4], 1
mov dword [esp], str.____help_____________Print_this_message_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2e
mov dword [esp + 4], 1
mov dword [esp], str._version_____________Print_the_version_number_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x44a22c]
test eax, eax
je 0x41bca3
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x45
mov dword [esp + 4], 1
mov dword [esp], str._em1__msg____________Print__msg__before_printing_first_error_message_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x43
mov dword [esp + 4], 1
mov dword [esp], str._emp__msg____________Print__msg__at_the_start_of_each_message_line_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x4a
mov dword [esp + 4], 1
mov dword [esp], str._eml__msg____________If_there_were_any_errors__print__msg__before_exiting_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x44a22c]
test eax, eax
je 0x41bb0e
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x43
mov dword [esp + 4], 1
mov dword [esp], str._i__deviceid_________Specifies_device_ID__not_name__to_compile_for_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2e
mov dword [esp + 4], 1
mov dword [esp], str._m_ap___map__________Specifies_map_to_compile_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x30
mov dword [esp + 4], 1
mov dword [esp], str._o__file_____________Specifies_output_file_name_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov ecx, dword [0x44a22c]
test ecx, ecx
je 0x41ba0c
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x44
mov dword [esp + 4], 1
mov dword [esp], str._p__count____________Specifies_the_number_of_slashes_to_be_stripped_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3e
mov dword [esp + 4], 1
mov dword [esp], str._____________________from_the_front_of_the_map_name_on_output_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x36
mov dword [esp + 4], 1
mov dword [esp], str._R__DIR______________Specifies_the_root_directory_for_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x29
mov dword [esp + 4], 1
mov dword [esp], str._____________________relative_path_names_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2b
mov dword [esp + 4], 1
mov dword [esp], str._synch_______________Force_synchronization_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov edx, dword [0x44a22c]
test edx, edx
jne 0x41b9b7
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x38
mov dword [esp + 4], 1
mov dword [esp], str._w___lvl_____________Set_warning_level__0none__10all__n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [0x44a22c]
test eax, eax
jne 0x41b996
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x36
mov dword [esp + 4], 1
mov dword [esp], str._xkb_________________Create_an_XKB_source__.xkb__file_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3b
mov dword [esp + 4], 1
mov dword [esp], str._xkm_________________Create_a_compiled_key_map__.xkm__file_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
add esp, 0x1c
ret
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Usage:__s__options__file__map___..._n
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x41b6af
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x36
mov dword [esp + 4], 1
mov dword [esp], str._v___flags___________Set_level_of_detail_for_listing._n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x34
mov dword [esp + 4], 1
mov dword [esp], str._____________________flags_are_as_for_the__l_option_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x41b915
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3d
mov dword [esp + 4], 1
mov dword [esp], str._opt_ional___parts___Specifies_optional_components_of_keymap_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 1
mov dword [esp], str._____________________Errors_in_optional_parts_are_not_fatal_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x38
mov dword [esp + 4], 1
mov dword [esp], str.______________________parts__can_be_any_combination_of:_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x37
mov dword [esp + 4], 1
mov dword [esp], str._____________________c:_compat_map_________g:_geometry_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x36
mov dword [esp + 4], 1
mov dword [esp], str._____________________k:_keycodes___________s:_symbols_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 1
mov dword [esp], str._____________________t:_types_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
cmp dword [0x44a22c], 0
je 0x41b88f
jmp 0x41b83f
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x38
mov dword [esp + 4], 1
mov dword [esp], str._dflts_______________Compute_defaults_for_missing_parts_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x41
mov dword [esp + 4], 1
mov dword [esp], str._I__dir______________Specifies_a_top_level_directory_for_include_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x41
mov dword [esp + 4], 1
mov dword [esp], str._____________________directives._Multiple_directories_are_legal._n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x3f
mov dword [esp + 4], 1
mov dword [esp], str._l__flags____________List_matching_maps_in_the_specified_files_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x33
mov dword [esp + 4], 1
mov dword [esp], str._____________________f:_list_fully_specified_names_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2e
mov dword [esp + 4], 1
mov dword [esp], str._____________________h:_also_list_hidden_maps_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x32
mov dword [esp + 4], 1
mov dword [esp], str._____________________l:_long_listing__show_flags__n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2f
mov dword [esp + 4], 1
mov dword [esp], str._____________________p:_also_list_partial_maps_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x38
mov dword [esp + 4], 1
mov dword [esp], str._____________________R:_recursively_list_subdirectories_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x30
mov dword [esp + 4], 1
mov dword [esp], str._____________________default_is_all_options_off_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x41b7b9
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x26
mov dword [esp + 4], 1
mov dword [esp], str._a___________________Show_all_actions_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x2c
mov dword [esp + 4], 1
mov dword [esp], str._C___________________Create_a_C_header_file_n
add eax, 0x40
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
jmp 0x41b734