Function at 0x402d7c
Capabilities:
Write file on windows

Disassembly:
push 0x54
mov eax, 0x41a6b8
call fcn.0040b1ee
mov dword [ebp - 0x20], ecx
xor ecx, ecx
cmp dword [0x42f2f4], ecx
je 0x402df3
mov dword [0x42f2f4], ecx
cmp dword [0x430290], ecx
jne 0x402dad
mov dword [0x430290], 1
cmp dword [0x430294], ecx
jne 0x402dbf
call fcn.004082f5
mov dword [0x430294], eax
cmp dword [0x430288], 0
jne 0x402dd5
call fcn.004082f5
add eax, 0x20
mov dword [0x430288], eax
mov ebx, dword [0x430284]
test ebx, ebx
jne 0x402dec
call fcn.0040453a
mov ebx, eax
mov dword [0x430284], ebx
call fcn.0040450e
jmp 0x402df9
mov ebx, dword [0x430284]
mov edx, dword [0x43027c]
mov al, byte [0x4fe43c]
mov dword [ebp - 0x1c], edx
mov byte [edx], al
mov esi, dword [ebx + 0x1c]
add esi, dword [0x430290]
movzx eax, byte [edx]
lea ecx, [esi + esi]
xor ebx, ebx
mov al, byte [eax*4 + 0x422fe0]
mov byte [ebp - 0xd], al
cmp word [ecx + 0x420ee0], bx
je 0x402e39
mov dword [0x4fe42c], esi
mov dword [0x4fe438], edx
mov bl, byte [ebp - 0xd]
movzx edi, al
movsx eax, word [ecx + 0x421df0]
add eax, edi
movsx eax, word [eax*2 + 0x422150]
cmp eax, esi
je 0x402e72
movsx esi, word [ecx + 0x422c80]
cmp esi, 0x185
jl 0x402e6a
mov bl, byte [edi*4 + 0x4211f0]
lea ecx, [esi + esi]
movzx edi, bl
jmp 0x402e3f
movsx ecx, word [esi*2 + 0x421df0]
movzx eax, bl
add ecx, eax
mov eax, 0x563
inc edx
movsx esi, word [ecx*2 + 0x4212c0]
cmp word [esi*2 + 0x421df0], ax
jne 0x402e12
mov ebx, dword [0x430284]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
movsx ecx, word [eax*2 + 0x420ee0]
test ecx, ecx
jne 0x402ed2
mov eax, dword [0x4fe42c]
mov edx, dword [0x4fe438]
mov dword [ebp - 0x14], edx
movsx ecx, word [eax*2 + 0x420ee0]
mov eax, edx
mov dword [0x430280], edi
sub eax, dword [ebp - 0x1c]
mov dword [0x43028c], eax
mov al, byte [edx]
mov byte [0x4fe43c], al
xor eax, eax
mov byte [edx], al
mov dword [0x43027c], edx
cmp ecx, 0x5d
ja case.default.0x402efc
jmp dword [ecx*4 + 0x403fd4]
mov al, byte [0x4fe43c]
mov ecx, edx
sub ecx, edi
mov byte [edx], al
dec ecx
xor eax, eax
mov dword [ebp - 0x18], ecx
cmp dword [ebx + 0x24], eax
jne 0x402f2f
mov eax, dword [ebx + 0x10]
mov dword [0x4fe434], eax
mov eax, dword [0x430294]
mov dword [ebx], eax
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 4]
add eax, dword [0x4fe434]
cmp dword [0x43027c], eax
jbe 0x402fe0
call fcn.0040414c
xor ecx, ecx
sub eax, ecx
je 0x40300c
dec eax
jne 0x402fac
mov dword [0x4fe430], ecx
mov ecx, esi
call fcn.00404976
test eax, eax
je 0x403037
mov eax, dword [0x430290]
mov edi, dword [0x430280]
dec eax
mov ebx, dword [0x430284]
cdq
sub eax, edx
mov dword [0x43027c], edi
mov edx, dword [ebp - 0x14]
mov ecx, eax
sar ecx, 1
add ecx, 0x59
jmp 0x402ef3
mov al, byte [0x4fe43c]
mov byte [edx], al
mov edx, dword [0x4fe438]
mov eax, dword [0x4fe42c]
jmp 0x402eaa
dec eax
jne 0x402df3
mov ebx, dword [0x430284]
mov eax, dword [ebx + 4]
add eax, dword [0x4fe434]
mov dword [ebp - 0x14], eax
mov dword [0x43027c], eax
call fcn.0040436c
mov edi, dword [0x430280]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edi
jmp 0x402eb0
lea eax, [edi + ecx]
mov dword [ebp - 0x14], eax
mov dword [0x43027c], eax
call fcn.0040436c
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00404413
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edi
test eax, eax
jne 0x403034
mov eax, dword [ebp - 0x18]
jmp 0x402eb0
mov edi, dword [0x430280]
mov eax, dword [ebp - 0x18]
add eax, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], eax
mov dword [0x43027c], eax
call fcn.0040436c
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov esi, eax
jmp 0x402e12
inc edx
jmp 0x40302a
cmp dword [0x4fe430], 0
jne 0x402df3
call fcn.0040449f
jmp 0x402df3
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403065
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, dword [esi + 0x348]
lea eax, [ecx + 1]
mov dword [esi + 0x348], eax
test ecx, ecx
jne 0x402df9
mov eax, dword [esi + 0x135c]
mov dword [0x430290], 3
mov dword [esi + 0x34c], eax
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4030b5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov eax, dword [esi + 0x348]
test eax, eax
jne 0x4030ff
mov eax, dword [esi + 0x344]
xor ecx, ecx
add eax, eax
push ecx
push 1
push dword [esi + 0x135c]
mov eax, dword [esi + eax*8 + 0x28]
add eax, 8
push eax
push str.__s___d__d__:_warning:_comments_end_has_no_matching_comments_start._n
call fcn.004082f5
add eax, 0x20
push eax
call fcn.00408686
add esp, 0x18
inc dword [esi + 0x14]
jmp 0x402df3
dec eax
mov dword [esi + 0x348], eax
jne 0x402df9
mov dword [0x430290], 1
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403132
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403155
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov eax, dword [esi + 0x344]
add eax, 3
add eax, eax
inc dword [esi + eax*8]
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403186
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov eax, dword [esi + 0x344]
lea ecx, [ebp - 0x60]
add eax, eax
xor ebx, ebx
push ebx
push ebx
mov eax, dword [esi + eax*8 + 0x28]
add eax, 8
push eax
call fcn.004016f9
lea eax, [ebp - 0x60]
mov dword [ebp - 4], ebx
push eax
mov ecx, 0x4fe414
call fcn.0040178c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.0040166f
jmp 0x402df3
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4031e2
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov edi, 0x420a81
push edi
push edi
push str.illegal_characters_after_include_statement.
mov ecx, esi
call fcn.00404920
jmp 0x402df3
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403218
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov dword [0x430290], 5
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403245
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.00404c75
mov dword [0x430290], 1
jmp 0x402df3
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403279
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov edi, 0x420a81
push edi
push edi
push str.illegal_character_in_include_directive.
jmp 0x4031f5
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4032a8
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov dword [0x430290], 9
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4032d5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
jmp 0x40310c
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4032f8
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1360], 0
je 0x402df9
mov eax, dword [esi + 0x344]
add eax, 3
add eax, eax
inc dword [esi + eax*8]
mov eax, dword [esi + 0x344]
add eax, eax
mov dword [esi + eax*8 + 0x2c], 1
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403346
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov byte [esi + 0x1360], 1
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403370
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
xor eax, eax
mov byte [esi + 0x1360], al
jmp 0x402df9
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40339b
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
push dword [0x430288]
push 1
push dword [0x43028c]
push edi
call fcn.0040a5e9
add esp, 0x10
jmp 0x402df3
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4033d5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x135
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4033f3
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x136
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403411
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x137
mov ecx, esi
call fcn.00404b58
push 1
mov ecx, esi
call fcn.004046dc
mov eax, edi
call fcn.0040b1cb
ret
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403445
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
push 1
mov ecx, esi
call fcn.004046dc
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x25
add eax, 0x116
jmp 0x403428
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403484
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x10d
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4034b0
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov edi, 0x10e
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4034d8
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov edi, 0x10c
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403500
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x115
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40351e
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x116
mov ecx, esi
call fcn.00404b58
jmp 0x403426
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403546
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
push 1
mov ecx, esi
call fcn.004046dc
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x24
jmp 0x403466
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403583
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
push 1
mov ecx, esi
call fcn.004046dc
movzx eax, al
neg eax
sbb eax, eax
and eax, 0x26
jmp 0x403466
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4035b9
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x10f
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4035da
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x110
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4035fb
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x112
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40361c
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x111
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40363d
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x117
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40365e
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x118
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40368d
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x119
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4036ae
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11a
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4036cf
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11b
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4036f0
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x113
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403711
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x133
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403732
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12f
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403753
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x130
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403782
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x131
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4037a3
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x132
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4037c4
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11c
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4037e5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11e
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403806
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11f
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403827
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x120
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403848
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x11d
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403869
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x121
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40388a
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x126
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4038ab
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x127
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4038da
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x128
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403909
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, esi
call fcn.004046ad
mov edi, 0x129
jmp 0x40341d
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403938
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x114
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403959
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12a
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40397a
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x122
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x40399b
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x123
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4039bc
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x124
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4039dd
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x125
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x4039fe
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12b
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403a1f
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12c
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403a40
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x134
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403a61
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12d
jmp 0x403416
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403a82
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x12e
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403aa3
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x138
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403ac4
invalid
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x139
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403ae5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x107
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403b06
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x108
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403b27
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x109
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403b48
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x10a
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403b69
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x10b
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403b8a
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x13d
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403bab
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x140
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403bcc
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x13f
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403bed
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov edi, 0x13e
jmp 0x403523
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403c0e
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403c49
cmp byte [esi + 0x1360], 0
jne 0x403c49
cmp dword [esi + 0x1358], 1
jle 0x403c49
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
mov ebx, 0x103
jmp 0x403ca7
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403c67
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403ca2
cmp byte [esi + 0x1360], 0
jne 0x403ca2
cmp dword [esi + 0x1358], 1
jle 0x403ca2
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
mov ebx, 0x102
xor eax, eax
mov ecx, esi
push eax
call fcn.004046dc
push edi
call fcn.0040a7b4
fstp qword [0x4302a0]
pop ecx
mov eax, ebx
jmp 0x403428
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403cdc
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403d11
cmp byte [esi + 0x1360], 0
jne 0x403d11
cmp dword [esi + 0x1358], 1
jle 0x403d11
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
xor ebx, ebx
mov ecx, esi
push ebx
call fcn.004046dc
call fcn.00404baf
mov eax, dword [0x430280]
mov esi, 0x80
push esi
inc eax
push eax
push 0x4302a0
call fcn.00409fc0
mov ecx, dword [0x43028c]
add esp, 0xc
lea eax, [ecx - 1]
cmp eax, esi
jge 0x403d4c
lea eax, [ecx - 2]
jmp 0x403d4f
push 0x7f
pop eax
mov byte [eax + 0x4302a0], bl
mov eax, 0x101
jmp 0x403428
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403d76
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403db1
cmp byte [esi + 0x1360], 0
jne 0x403db1
cmp dword [esi + 0x1358], 1
jle 0x403db1
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
mov ebx, 0x104
jmp 0x403e0f
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403dcf
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403e0a
cmp byte [esi + 0x1360], 0
jne 0x403e0a
cmp dword [esi + 0x1358], 1
jle 0x403e0a
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
mov ebx, 0x105
xor eax, eax
mov ecx, esi
push eax
call fcn.004046dc
push 0x80
lea eax, [edi + 1]
push eax
push 0x430298
call fcn.00409fc0
jmp 0x403e9f
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403e45
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403e80
cmp byte [esi + 0x1360], 0
jne 0x403e80
cmp dword [esi + 0x1358], 1
jle 0x403e80
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
xor eax, eax
mov ecx, esi
push eax
call fcn.004046dc
push 0x80
push edi
push 0x430298
call fcn.00409fc0
mov ebx, 0x106
add esp, 0xc
xor eax, eax
mov byte [0x430317], al
jmp 0x403cbe
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403ec5
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov ecx, dword [esi + 0x344]
xor eax, eax
add ecx, 3
add ecx, ecx
inc dword [esi + ecx*8]
mov ecx, dword [esi + 0x344]
add ecx, ecx
inc eax
mov dword [0x430290], eax
mov dword [esi + ecx*8 + 0x2c], eax
push 0xa
pop eax
jmp 0x403428
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403f0d
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov byte [esi + 0x1360], 1
movsx eax, byte [edi]
jmp 0x403428
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403f3a
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
cmp byte [esi + 0x1361], 0
je 0x403f75
cmp byte [esi + 0x1360], 0
jne 0x403f75
cmp dword [esi + 0x1358], 1
jle 0x403f75
mov eax, 0x420a81
mov ecx, esi
push eax
push eax
push str.missing_separator_character_after_keyword.
call fcn.00404920
mov edi, dword [0x430280]
xor eax, eax
mov ecx, esi
push eax
call fcn.004046dc
jmp 0x403f1b
mov ecx, dword [0x43028c]
test ecx, ecx
jle 0x403f98
xor eax, eax
cmp byte [ecx + edi - 1], 0xa
sete al
mov dword [ebx + 0x1c], eax
mov ecx, esi
call fcn.00404b58
mov dword [esi + 0xc], str.__illegal_character_
jmp 0x403f1b
cmp byte [esi + 0x1350], 0
jne 0x403fc0
mov byte [esi + 0x1350], 1
jmp 0x403eee
xor eax, eax
jmp 0x403428
mov ecx, str.fatal_flex_scanner_internal_error__no_action_found
call fcn.004045d4
lea ecx, [ecx]
xchg ebp, eax
das
inc eax
add byte [esi + 0x30], cl
inc eax
add byte [esi + 0x1b004030], bl
xor dword [eax], eax
xor dword ds:[eax], eax
outsd dx, dword [esi]
xor dword [eax], eax
retf