Function at 0x401000
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
cmp dword [section..data], 0
je 0x40107b
mov dword [section..data], 0
cmp dword [0x47c5ac], 0
jne 0x40102c
mov dword [0x47c5ac], 1
cmp dword [0x47c5b0], 0
jne 0x40103f
call fcn.00406ac0
mov dword [0x47c5b0], eax
cmp dword [0x47c5b4], 0
jne 0x401055
call fcn.00406ac0
add eax, 0x20
mov dword [0x47c5b4], eax
cmp dword [0x47c5a4], 0
jne 0x401076
push 0x4000
mov eax, dword [0x47c5b0]
push eax
call fcn.00402b30
add esp, 8
mov dword [0x47c5a4], eax
call fcn.00402ae0
mov ecx, 1
test ecx, ecx
je 0x40236f
mov edx, dword [0x47c5a8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov cl, byte [0x47c560]
mov byte [eax], cl
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov eax, dword [0x47c5ac]
mov dword [ebp - 0xc], eax
mov ecx, dword [0x47c5a4]
mov edx, dword [ebp - 0xc]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax]
mov dl, byte [ecx*4 + 0x43bbb0]
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x43a008]
test ecx, ecx
je 0x4010e9
mov edx, dword [ebp - 0xc]
mov dword [0x47c59c], edx
mov eax, dword [ebp - 4]
mov dword [0x47c564], eax
movzx ecx, byte [ebp - 0x11]
mov edx, dword [ebp - 0xc]
mov eax, dword [edx*4 + 0x43c028]
add eax, ecx
movsx ecx, word [eax*2 + 0x45e988]
cmp ecx, dword [ebp - 0xc]
je 0x40112d
mov edx, dword [ebp - 0xc]
movsx eax, word [edx*2 + 0x440540]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xdd3
jl 0x40112b
movzx ecx, byte [ebp - 0x11]
mov dl, byte [ecx*4 + 0x43bfb0]
mov byte [ebp - 0x11], dl
jmp 0x4010e9
movzx eax, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx*4 + 0x43c028]
add edx, eax
movsx eax, word [edx*2 + 0x4427d0]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0xc]
cmp dword [edx*4 + 0x43c028], 0xe0bb
jne 0x4010b9
mov eax, dword [ebp - 0xc]
movsx ecx, word [eax*2 + 0x43a008]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
jne 0x401198
mov edx, dword [0x47c564]
mov dword [ebp - 4], edx
mov eax, dword [0x47c59c]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
movsx edx, word [ecx*2 + 0x43a008]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
mov dword [0x47d664], eax
mov ecx, dword [ebp - 4]
sub ecx, dword [ebp - 0x10]
mov dword [0x47d668], ecx
mov edx, dword [ebp - 4]
mov al, byte [edx]
mov byte [0x47c560], al
mov ecx, dword [ebp - 4]
mov byte [ecx], 0
mov edx, dword [ebp - 4]
mov dword [0x47c5a8], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x3b
ja case.default.0x4011d8
mov ecx, dword [ebp - 0x28]
jmp dword [ecx*4 + 0x402374]
mov edx, dword [ebp - 4]
mov al, byte [0x47c560]
mov byte [edx], al
mov ecx, dword [0x47c564]
mov dword [ebp - 4], ecx
mov edx, dword [0x47c59c]
mov dword [ebp - 0xc], edx
jmp 0x401165
mov eax, dword [ebp - 4]
mov cl, byte [0x47c560]
mov byte [eax], cl
mov edx, dword [ebp - 4]
sub edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov dword [0x47c5a8], eax
mov ecx, dword [ebp - 0x10]
mov dword [0x47d664], ecx
mov edx, dword [ebp - 4]
sub edx, dword [ebp - 0x10]
mov dword [0x47d668], edx
mov eax, dword [ebp - 4]
mov cl, byte [eax]
mov byte [0x47c560], cl
mov edx, dword [ebp - 4]
mov byte [edx], 0
mov eax, dword [ebp - 4]
mov dword [0x47c5a8], eax
cmp dword [0x47d668], 0
jle 0x401274
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4012c1
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
push 0xc
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401316
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c56c]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401361
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
push 0xd
call fcn.00402f50
add esp, 4
mov edx, dword [0x47c56c]
push edx
call fcn.00404690
add esp, 4
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.00404600
add esp, 8
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4013be
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c56c]
push eax
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401407
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c594]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
mov ecx, dword [0x47d664]
movsx edx, byte [ecx + 1]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0x25
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x58
ja case.0x401449.1
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ecx + 0x402478]
jmp dword [edx*4 + 0x402464]
mov eax, dword [0x47c5c0]
add eax, 1
mov dword [0x47c5c0], eax
call fcn.00403010
jmp case.0x401449.1
push 0xb
call fcn.00402eb0
add esp, 4
jmp case.0x401449.1
call fcn.00403010
jmp case.0x401449.1
push 5
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4014b0
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d664]
push edx
call fcn.004044d0
add esp, 4
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4014f1
push 0
push 0x47ab54
mov eax, dword [0x47d664]
push eax
call fcn.00405990
add esp, 0xc
mov ecx, dword [0x47d664]
push ecx
call fcn.00404470
add esp, 4
mov dword [ebp - 0x18], eax
jmp 0x40150d
mov edx, dword [0x47c5a0]
mov dword [ebp - 0x18], edx
mov eax, dword [0x47d664]
push eax
push 0x47ab60
call fcn.00403950
add esp, 8
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401555
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4015a2
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5a0]
push eax
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004038a0
add esp, 0xc
push str.Expected_newline_or_blanks
call fcn.00403950
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4015f8
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
call fcn.00403010
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40164a
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
push 0x47aba0
call fcn.004064e0
add esp, 4
test eax, eax
je 0x4016e8
mov edx, dword [0x47d664]
push edx
call fcn.004044d0
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4016a2
push 0
mov eax, dword [0x47c584]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.00405990
add esp, 0xc
mov edx, dword [0x47d664]
push edx
call fcn.00404470
add esp, 4
mov dword [ebp - 0x1c], eax
jmp 0x4016be
mov eax, dword [0x47c5a0]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x47d664]
push ecx
push str.Keyword___s__is_already_a_classname
call fcn.00403950
add esp, 8
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004038a0
add esp, 0xc
mov edx, dword [0x47d24c]
push edx
call fcn.004064e0
add esp, 4
jmp 0x401704
mov eax, dword [0x47c57c]
push eax
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004038a0
add esp, 0xc
push 2
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40173b
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
push 3
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401792
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004031f0
add esp, 8
push 4
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4017e0
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5a0]
push edx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004038a0
add esp, 0xc
push str.Expected_newline
call fcn.00403950
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401838
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
push 1
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40188d
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
push 0xc
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4018e4
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401931
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.00403070
add esp, 8
push 8
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40197f
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004031f0
add esp, 8
push 9
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4019cd
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401a18
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.00403070
add esp, 8
push 8
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401a65
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004031f0
add esp, 8
push 9
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401ab2
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c570]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
mov ecx, dword [0x47c5c8]
add ecx, 1
mov dword [0x47c5c8], ecx
push 7
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401b16
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
cmp dword [0x47c5c8], 0
je 0x401b4f
mov eax, dword [0x47c5c8]
sub eax, 1
mov dword [0x47c5c8], eax
mov ecx, dword [0x47c570]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
call fcn.00402fe0
jmp 0x401b6d
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401b9c
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004031f0
add esp, 8
push 9
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401bea
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
push 0xa
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401c41
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
call fcn.00402fe0
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401c91
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
push 0xa
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401ce8
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
call fcn.00402fe0
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401d3a
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47d664]
push eax
call fcn.00404470
add esp, 4
push eax
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004038a0
add esp, 0xc
push 0xc
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401d96
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
mov dword [0x47c5c4], 1
push 0xb
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401df7
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
call fcn.00402fe0
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401e49
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47d664]
push eax
call fcn.00404470
add esp, 4
push eax
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401e9b
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c590]
push ecx
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401ee6
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c580]
push edx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004038a0
add esp, 0xc
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401f31
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
call fcn.00403010
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401f81
mov eax, dword [0x47d664]
add eax, dword [0x47d668]
movsx ecx, byte [eax - 1]
xor edx, edx
cmp ecx, 0xa
sete dl
mov eax, dword [0x47c5a4]
mov dword [eax + 0x1c], edx
mov ecx, dword [0x47c5b4]
push ecx
push 1
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.004065e0
add esp, 0x10
mov ecx, dword [0x47c5c4]
add ecx, 1
mov dword [0x47c5c4], ecx
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x401fdd
mov edx, dword [0x47d664]
add edx, dword [0x47d668]
movsx eax, byte [edx - 1]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov edx, dword [0x47c5a4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x47c5b4]
push eax
push 1
mov ecx, dword [0x47d668]
push ecx
mov edx, dword [0x47d664]
push edx
call fcn.004065e0
add esp, 0x10
mov eax, dword [0x47c5c4]
sub eax, 1
mov dword [0x47c5c4], eax
cmp dword [0x47c5c4], 0
jg 0x402020
mov dword [0x47c5c4], 0
call fcn.00403050
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40204f
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.00404600
add esp, 8
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x402093
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.00404600
add esp, 8
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x4020d7
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47d668]
push edx
mov eax, dword [0x47d664]
push eax
call fcn.00404600
add esp, 8
call fcn.00404760
call fcn.00402f00
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x402125
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c588]
push edx
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004038a0
add esp, 0xc
mov edx, dword [0x43a004]
mov eax, dword [0x47c5b8]
cmp dword [eax + edx*4], 1
jne 0x40215c
push 0xb
call fcn.00402eb0
add esp, 4
jmp 0x40236a
cmp dword [0x47d668], 0
jle 0x40218b
mov ecx, dword [0x47d664]
add ecx, dword [0x47d668]
movsx edx, byte [ecx - 1]
xor eax, eax
cmp edx, 0xa
sete al
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x1c], eax
mov edx, dword [0x47c5b4]
push edx
push 1
mov eax, dword [0x47d668]
push eax
mov ecx, dword [0x47d664]
push ecx
call fcn.004065e0
add esp, 0x10
jmp 0x40236a
xor eax, eax
jmp 0x40236f
mov edx, dword [ebp - 4]
sub edx, dword [0x47d664]
sub edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 4]
mov cl, byte [0x47c560]
mov byte [eax], cl
mov edx, dword [0x47c5a4]
cmp dword [edx + 0x24], 0
jne 0x402203
mov eax, dword [0x47c5a4]
mov ecx, dword [eax + 0x10]
mov dword [0x47c578], ecx
mov edx, dword [0x47c5a4]
mov eax, dword [0x47c5b0]
mov dword [edx], eax
mov ecx, dword [0x47c5a4]
mov dword [ecx + 0x24], 1
mov edx, dword [0x47c5a4]
mov eax, dword [edx + 4]
add eax, dword [0x47c578]
cmp dword [0x47c5a8], eax
ja 0x402286
mov ecx, dword [0x47d664]
add ecx, dword [ebp - 0x20]
mov dword [0x47c5a8], ecx
call fcn.00402890
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.00402990
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x47d664]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x24], 0
je 0x402273
mov ecx, dword [0x47c5a8]
add ecx, 1
mov dword [0x47c5a8], ecx
mov edx, dword [0x47c5a8]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc], eax
jmp 0x4010b9
mov ecx, dword [0x47c5a8]
mov dword [ebp - 4], ecx
jmp 0x401165
call fcn.00402510
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x4022fb
cmp dword [ebp - 0x30], 1
je 0x4022a9
cmp dword [ebp - 0x30], 2
je 0x402328
jmp 0x40235b
mov dword [0x47c598], 0
call fcn.004065d0
test eax, eax
je 0x4022e2
mov edx, dword [0x47d664]
mov dword [0x47c5a8], edx
mov eax, dword [0x47c5ac]
sub eax, 1
cdq
sub eax, edx
sar eax, 1
add eax, 0x2e
mov dword [ebp - 8], eax
jmp 0x4011c5
cmp dword [0x47c598], 0
jne 0x4022f9
mov eax, dword [0x47c5b0]
push eax
call fcn.00402a40
add esp, 4
jmp 0x40235b
mov ecx, dword [0x47d664]
add ecx, dword [ebp - 0x20]
mov dword [0x47c5a8], ecx
call fcn.00402890
mov dword [ebp - 0xc], eax
mov edx, dword [0x47c5a8]
mov dword [ebp - 4], edx
mov eax, dword [0x47d664]
mov dword [ebp - 0x10], eax
jmp 0x4010b9
mov ecx, dword [0x47c5a4]
mov edx, dword [ecx + 4]
add edx, dword [0x47c578]
mov dword [0x47c5a8], edx
call fcn.00402890
mov dword [ebp - 0xc], eax
mov eax, dword [0x47c5a8]
mov dword [ebp - 4], eax
mov ecx, dword [0x47d664]
mov dword [ebp - 0x10], ecx
jmp 0x401165
jmp 0x40236a
push str.fatal_flex_scanner_internal_error__no_action_found
call fcn.004024e0
add esp, 4
jmp 0x40107b
mov esp, ebp
pop ebp
ret