Function at 0x41265b
Capabilities:
Write file on windows

Disassembly:
jnp 0x412314
xchg esi, eax
and al, bl
mov dword [0xf1557de3], eax
cli
push ds
pushal
pop ds
shr byte [ecx + eax*8], cl
lodsb al, byte [esi]
jne 0x4122a6
mov bh, 0xa2
pop ebx
das
test dword [bp + si], 0x69dbfa60
test byte [ebx + 0x4b39e24b], 0x1c
jno 0x412358
xor byte [ebx + edx*2 + 0x429c5a02], ch
cmc
push 0xaef33bd8
je 0x4122d7
invalid
xchg byte [ebx - 0x64], bl
pop ebx
pushfd
mov ah, 0x10
loope 0x412349
jb 0x412369
adc dl, dh
push 0xffffffffffffffc6
push 0xffffffffffffffc6
mov al, byte [eax]
adc bl, cl
xchg esi, eax
pop ecx
mov cl, 0x2e
aam 0xe4
test byte [eax - 0x2f], bh
inc ecx
add bh, al
add eax, 0x41d17c
add dword [eax], eax
add byte [eax], al
rol dword [ecx], 1
mov dword [0x41d17c], 1
test eax, eax
jne 0x412384
mov dword [0x41d178], 1
mov eax, dword [0x41d160]
test eax, eax
je 0x4127ea
mov eax, dword [0x41d15c]
test eax, eax
je 0x412801
mov eax, dword [0x41d18c]
test eax, eax
je 0x412538
mov edx, dword [0x41d194]
lea edx, [eax + edx*4]
mov eax, dword [edx]
test eax, eax
je 0x412538
mov ebx, dword [eax + 8]
mov ecx, dword [eax + 0x10]
mov esi, dword [0x41d178]
mov dword [0x41d154], ebx
mov eax, dword [edx]
mov dword [0x41d184], ecx
mov eax, dword [eax]
mov dword [0x41d180], ebx
mov dword [ebp - 0x24], ebx
mov dword [0x41d160], eax
movzx eax, byte [ebx]
mov byte [0x41d188], al
mov byte [ebx], al
xor edi, edi
lea esi, [esi]
mov ecx, dword [ebp - 0x20]
movzx eax, byte [ebx]
cmp word [esi + esi + 0x4191e0], 0
cmovne ecx, esi
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x1c]
cmovne ecx, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, 1
cmovne edi, ecx
movzx ecx, byte [eax + 0x4190e0]
movsx eax, word [esi + esi + 0x419080]
add eax, ecx
movsx edx, word [eax + eax + 0x418ee0]
cmp esi, edx
je 0x41246b
lea esi, [esi]
nop
movsx esi, word [esi + esi + 0x419020]
mov edx, esi
cmp si, 0x1b
jle 0x412457
movzx ecx, byte [ecx + 0x4190c4]
movsx eax, word [esi + esi + 0x419080]
add eax, ecx
cmp dx, word [eax + eax + 0x418ee0]
jne 0x412440
movsx esi, word [eax + eax + 0x418f80]
add ebx, 1
cmp esi, 0x1b
jne 0x4123f8
mov eax, edi
test al, al
je 0x412516
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov dword [0x41d174], eax
mov eax, dword [ebp - 0x1c]
mov dword [0x41d170], eax
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov dword [0x41d154], edi
mov dword [ebp - 0x24], edi
mov edx, ebx
mov dword [0x41d180], ebx
movsx eax, word [eax + eax + 0x4191e0]
sub edx, edi
mov dword [0x41d164], edx
movzx edx, byte [ebx]
mov byte [ebx], 0
mov byte [0x41d188], dl
cmp eax, 0x11
ja case.default.0x4124d8
jmp dword [eax*4 + 0x418c3c]
mov edx, dword [0x41d16c]
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov edx, dword [0x41d154]
movzx edx, byte [edx]
mov byte [eax], dl
mov ebx, dword [0x41d180]
movzx eax, byte [0x41d188]
mov byte [ebx], al
mov esi, dword [0x41d178]
mov dword [ebp - 0x24], ebx
jmp 0x4123f2
mov eax, dword [0x41d174]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [0x41d170]
mov dword [ebp - 0x1c], eax
jmp 0x41249c
xor eax, eax
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00411ee0
mov edx, dword [0x41d194]
mov eax, dword [0x41d18c]
mov dword [esp + 4], 0x4000
lea ebx, [eax + edx*4]
mov eax, dword [0x41d160]
mov dword [esp], eax
call fcn.00412240
mov edx, dword [0x41d194]
mov dword [ebx], eax
mov eax, dword [0x41d18c]
lea edx, [eax + edx*4]
mov eax, dword [edx]
jmp 0x4123be
mov ebx, dword [0x41d16c]
mov eax, dword [ebx + 0x88]
test eax, eax
jne 0x412818
mov esi, dword [ebx + 0x10c]
cmp esi, 0x1f
ja 0x412a14
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
add eax, 1
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [0x41d178], 3
mov dword [ebx + esi*4 + 0x8c], eax
add esi, 1
mov dword [ebx + 4], eax
mov dword [ebx + 0x10c], esi
mov dword [0x41d14c], eax
mov eax, dword [0x41d154]
mov ecx, dword [ebx + 0x88]
movsx eax, byte [eax]
lea edx, [ecx + 1]
mov dword [ebx + 0x88], edx
mov dword [ebx + ecx*4 + 8], eax
cmp edx, 0x1f
jbe 0x4124f9
mov dword [esp + 8], 0x55
mov dword [esp + 4], str.programs_winhlp32_macro.lex.l
mov dword [esp], str.lex_data__quote_stk_idx___ARRAY_SIZE_lex_data__quote_stack_
call dword [sym.imp.ucrtbase.dll__assert]
jmp 0x4124f9
mov edx, dword [0x41d16c]
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov edx, dword [0x41d154]
movzx edx, byte [edx + 1]
mov byte [eax], dl
jmp 0x4124f9
movzx eax, byte [0x41d188]
mov ebx, dword [0x41d180]
jmp 0x412506
mov eax, dword [0x41d154]
movsx eax, byte [eax]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x41d15c]
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov eax, dword [0x41d164]
mov dword [esp + 4], eax
mov eax, dword [0x41d154]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_fwrite]
jmp 0x4124f9
mov edi, dword [ebp - 0x1c]
mov esi, dword [0x41d184]
mov eax, edi
sub eax, dword [0x41d154]
sub eax, 1
mov dword [ebp - 0x30], eax
movzx eax, byte [0x41d188]
mov byte [edi], al
mov eax, dword [0x41d194]
mov edi, dword [0x41d18c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], edi
lea edi, [edi + eax*4]
mov ebx, dword [edi]
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x4126e0
mov eax, dword [0x41d160]
mov esi, dword [ebx + 0x10]
mov dword [ebx], eax
mov eax, dword [edi]
mov dword [0x41d184], esi
mov dword [eax + 0x2c], 1
mov ebx, dword [edi]
mov eax, dword [ebx + 4]
mov edx, dword [0x41d180]
mov ecx, dword [0x41d154]
mov dword [ebp - 0x28], eax
add eax, esi
mov dword [ebp - 0x2c], edx
cmp eax, edx
jae 0x412b12
mov eax, dword [ebp - 0x28]
lea esi, [eax + esi + 1]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x412afa
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x28]
sub esi, ecx
mov dword [ebp - 0x34], esi
test eax, eax
jne 0x41286c
cmp esi, 1
je 0x4129bf
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x38]
mov edx, dword [eax + edi*4]
mov eax, dword [0x41d184]
add eax, dword [edx + 4]
mov dword [ebp - 0x1c], eax
mov dword [0x41d180], eax
call fcn.00411ad0
mov edi, dword [0x41d154]
mov dword [ebp - 0x20], eax
jmp 0x41249c
movzx eax, byte [0x41d188]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x24]
mov byte [ebx], al
mov eax, dword [0x41d170]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x41d174]
mov dword [ebp - 0x20], eax
jmp 0x41249c
mov eax, dword [0x41d154]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strtol]
mov dword [0x41d148], eax
add esp, 0x4c
mov eax, 3
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x41d154]
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strtol]
jmp 0x41279b
mov eax, dword [0x41d154]
mov dword [esp + 4], 0x41d140
mov dword [esp], eax
call fcn.0040d2f0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 0
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [0x41d160], eax
jmp 0x412391
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [0x41d15c], eax
jmp 0x41239e
mov edx, dword [0x41d154]
movzx ecx, byte [edx]
cmp cl, 0x22
je 0x41284f
cmp cl, 0x60
je 0x412859
lea ecx, [eax - 1]
mov dword [ebx + 0x88], ecx
test ecx, ecx
je 0x412ada
mov eax, dword [ebx + 4]
lea ecx, [eax + 1]
mov dword [ebx + 4], ecx
movzx edx, byte [edx]
mov byte [eax], dl
jmp 0x4124f9
cmp dword [ebx + eax*4 + 4], 0x22
lea ecx, [eax - 1]
je 0x41282e
mov ecx, dword [ebx + 4]
lea eax, [ecx + 1]
mov dword [ebx + 4], eax
movzx eax, byte [edx]
mov byte [ecx], al
jmp 0x4125d3
mov eax, dword [ebp - 0x34]
lea esi, [eax - 1]
test esi, esi
jle 0x412aba
mov eax, dword [ebp - 0x28]
lea ebx, [eax + esi]
mov edx, eax
movzx eax, byte [ecx]
add edx, 1
add ecx, 1
mov byte [edx - 1], al
cmp edx, ebx
jne 0x412882
mov ebx, dword [edi]
cmp dword [ebx + 0x2c], 2
je 0x412a42
mov edx, dword [ebx + 0xc]
sub edx, esi
cmp edx, 1
jg 0x412920
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x2c]
jmp 0x4128ea
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x412910
add eax, eax
mov dword [ebx + 0xc], eax
add eax, 2
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebx + 4], eax
test eax, eax
je 0x4128fd
add edi, eax
mov eax, dword [ebp - 0x28]
mov dword [0x41d180], edi
mov ebx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
cmp eax, 1
jg 0x41291d
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0x14]
sub edi, edx
test ecx, ecx
jne 0x4128b0
mov dword [ebx + 4], 0
mov eax, str.fatal_error___scanner_input_buffer_overflow
call fcn.00411ea0
lea esi, [esi]
nop
lea ecx, [eax + 7]
cmovns ecx, eax
sar ecx, 3
add eax, ecx
jmp 0x4128b9
mov edi, dword [ebp - 0x28]
mov edx, dword [0x41d16c]
xor ecx, ecx
mov eax, dword [edx]
cmp byte [eax], 0
setne cl
mov dword [0x41d184], ecx
je 0x4129de
lea ecx, [eax + 1]
mov ebx, dword [ebp - 0x34]
mov dword [edx], ecx
movzx edx, byte [eax]
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov byte [eax + ebx - 1], dl
mov eax, dword [edi]
xor ebx, ebx
mov dword [eax + 0x10], 1
mov eax, 1
mov edx, dword [edi]
add esi, eax
mov ecx, dword [edx + 4]
cmp esi, dword [edx + 0xc]
jg 0x412a6b
mov eax, dword [edx + 4]
mov dword [0x41d184], esi
mov byte [eax + esi], 0
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov byte [eax + esi + 1], 0
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov dword [0x41d154], ecx
cmp ebx, 1
je 0x4129bf
cmp ebx, 2
je 0x412aa5
mov ebx, dword [ebp - 0x30]
add ebx, ecx
mov dword [0x41d180], ebx
call fcn.00411ad0
mov esi, eax
mov eax, dword [0x41d154]
mov dword [ebp - 0x24], eax
jmp 0x4123f2
mov eax, dword [0x41d178]
mov dword [0x41d180], ecx
lea edx, [eax - 1]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
add eax, 0x10
jmp 0x4124cf
mov dword [ebx + 0x10], 0
test esi, esi
jne 0x412a53
mov eax, dword [0x41d160]
mov dword [esp], eax
call fcn.004122a0
mov ebx, dword [0x41d18c]
mov edi, dword [0x41d194]
mov eax, dword [0x41d184]
lea edi, [ebx + edi*4]
mov ebx, 1
jmp 0x412960
mov dword [esp + 8], 0x4d
mov dword [esp + 4], str.programs_winhlp32_macro.lex.l
mov dword [esp], str.lex_data__cache_used___ARRAY_SIZE_lex_data__cache_string_
call dword [sym.imp.ucrtbase.dll__assert]
mov ebx, dword [0x41d16c]
mov esi, dword [ebx + 0x10c]
jmp 0x41259a
mov dword [0x41d184], 0
mov dword [ebx + 0x10], 0
mov eax, dword [edi]
mov ebx, 2
mov dword [eax + 0x2c], 2
mov eax, dword [0x41d184]
jmp 0x412960
sar eax, 1
mov dword [ebp - 0x2c], edx
add eax, esi
mov dword [ebp - 0x28], eax
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_realloc]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [edi]
mov edx, dword [eax + 4]
test edx, edx
je 0x412b8b
mov ecx, dword [ebp - 0x28]
sub ecx, 2
mov dword [eax + 0xc], ecx
mov edx, dword [edi]
jmp 0x412970
mov eax, dword [0x41d18c]
mov dword [ebp - 0x3c], eax
mov eax, dword [0x41d194]
mov dword [ebp - 0x38], eax
jmp 0x41272d
cmp dword [ebx + 0x2c], 2
jne 0x41289e
mov dword [0x41d184], 0
mov dword [ebx + 0x10], 0
jmp 0x4129e5
mov dword [0x41d178], 1
mov eax, dword [ebx + 4]
lea edx, [eax + 1]
mov dword [ebx + 4], edx
mov byte [eax], 0
mov eax, 4
jmp 0x412530
mov eax, str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call fcn.00411ea0
lea esi, [esi]
mov eax, str.fatal_flex_scanner_internal_error__no_action_found
call fcn.00411ea0
mov ebx, dword [ebp - 0x30]
add ebx, ecx
mov dword [0x41d180], ebx
call fcn.00411ad0
cmp word [eax + eax + 0x4191e0], 0
je 0x412b48
mov dword [0x41d174], eax
mov dword [0x41d170], ebx
jmp 0x412b48
movsx eax, word [eax + eax + 0x419020]
movsx ecx, word [eax + eax + 0x419080]
lea edx, [ecx + 1]
movsx ecx, word [ecx + ecx + 0x418ee2]
cmp eax, ecx
jne 0x412b40
movsx eax, word [edx + edx + 0x418f80]
mov edi, dword [0x41d154]
cmp eax, 0x1b
je 0x412b76
test eax, eax
jne 0x412b95
mov eax, dword [0x41d170]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x41d174]
mov dword [ebp - 0x20], eax
jmp 0x41249c
mov eax, str.out_of_dynamic_memory_in_yy_get_next_buffer__
call fcn.00411ea0
add ebx, 1
mov dword [ebp - 0x24], edi
mov esi, eax
mov dword [0x41d180], ebx
jmp 0x4123f2