Function at 0x41ac2c
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x1024
call fcn.00423f20
mov eax, dword [0x451220]
xor eax, esp
mov dword [esp + 0x1020], eax
mov eax, dword [esp + 0x1028]
lea ecx, [esp]
push ecx
push eax
push 8
call fcn.0041e976
add esp, 0xc
cmp byte [0x9cfe27], 0
je 0x41ac78
push str.Header_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp], 0xc
push ebx
push ebp
push esi
push edi
xor ebp, ebp
inc ebp
push dword [eax + 0xdd2378]
lea eax, [esp + 0x1c]
push ebp
push 4
pop ebx
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x28]
add esp, 0x10
mov esi, 0x44325c
cmp eax, dword [0x858090]
je 0x41acc1
push 0x192
push 0x14
push str.Load_file_is_not_a_compiled_TXL_object_file
push esi
call fcn.0041f48b
add esp, 0x10
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x1c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, dword [0x9c8de4]
je 0x41acfc
push 0x193
push 0x16
push str.TXL_size_does_not_match_compiled_size
push esi
call fcn.0041f48b
add esp, 0x10
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x27]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
movzx eax, byte [esp + 0x37]
inc eax
push ebp
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0043100f
lea eax, [esp + 0x50]
push str.OpenTxl_C_v11.3.1__4.12.23___c__2023_James_R._Cordy_and_others
push eax
call fcn.0042b4f0
add esp, 0x28
test eax, eax
je 0x41ad5b
push 0x194
push 0x14
push str.TXL_object_file_was_compiled_by_a_different_version_of_TXL
push esi
call fcn.0041f48b
add esp, 0x10
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x27]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
movzx eax, byte [esp + 0x37]
push ebp
inc eax
push eax
push 0x9cee20
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x3c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x48]
add esp, 0x30
cmp eax, dword [0x858090]
je 0x41adbd
push 0
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41addb
push str.Compounds_comments_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c870
call fcn.0043100f
add esp, 0x10
mov edi, ebp
cmp dword [0xf5c870], ebp
jl 0x41ae4b
mov esi, 0xedb668
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x20]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
movzx ecx, byte [esp + 0x2c]
mov dword [esi - 4], ecx
push dword [eax + 0xdd2378]
lea eax, [ecx + 1]
push ebp
push eax
push esi
call fcn.0043100f
add esp, 0x20
add esi, 0x1004
inc edi
cmp edi, dword [0xf5c870]
jle 0x41ae04
mov esi, 0xeda260
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x20]
push ebp
push ebp
push eax
call fcn.0043100f
movzx eax, byte [esp + 0x2c]
add esp, 0x10
mov dword [esi], eax
add esi, ebx
cmp esi, 0xeda65c
jle 0x41ae50
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c86c
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [0xf5c86c]
push ebp
shl eax, 2
push eax
push 0xeda1c0
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [0xf5c86c]
push ebp
shl eax, 2
push eax
push 0xeda120
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x4c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x58]
add esp, 0x40
cmp eax, dword [0x858090]
je 0x41aefd
push ebp
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41af1b
push str.Keywords_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c874
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [0xf5c874]
push ebp
shl eax, 2
push eax
push 0xdd24a0
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x3c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x48]
add esp, 0x30
cmp eax, dword [0x858090]
je 0x41af7f
push 2
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41af9d
push str.Patterns_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c868
call fcn.0043100f
add esp, 0x10
mov edi, ebp
mov dword [esp + 0x28], edi
cmp dword [0xf5c868], ebp
jl 0x41b085
mov esi, 0xddbb14
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi - 0x2008]
push ebp
push ebx
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi - 0x2004]
push ebp
push ebx
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x40]
push ebp
push 2
push eax
call fcn.0043100f
movsx eax, word [esp + 0x4c]
xor edx, edx
add esp, 0x30
mov dword [esi], eax
inc eax
inc edx
cmp eax, edx
jl 0x41b06b
xor edi, edi
lea ebx, [esi - 0x1ffe]
inc edi
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x28]
push edi
push 2
push eax
call fcn.0043100f
mov ax, word [esp + 0x34]
add esp, 0x10
mov word [ebx], ax
inc ebp
movsx eax, word [esp + 0x1c]
lea ebx, [ebx + 2]
inc eax
cmp ebp, eax
jle 0x41b033
mov edi, dword [esp + 0x28]
push 4
pop ebx
inc edi
add esi, 0x200c
push 1
mov dword [esp + 0x2c], edi
pop ebp
cmp edi, dword [0xf5c868]
jle 0x41afce
mov esi, 0xdd76e0
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x20]
push ebp
push ebp
push eax
call fcn.0043100f
movzx eax, byte [esp + 0x2c]
add esp, 0x10
mov dword [esi], eax
add esi, ebx
cmp esi, 0xdd7adc
jle 0x41b08a
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xdd76c4
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xdd44a8
call fcn.0043100f
add esp, 0x20
mov esi, ebp
cmp dword [0xdd44a8], ebp
jl 0x41b11f
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x20]
push ebp
push ebp
push eax
call fcn.0043100f
movzx eax, byte [esp + 0x2c]
add esp, 0x10
mov dword [esi*4 + 0xdd44c0], eax
inc esi
cmp esi, dword [0xdd44a8]
jle 0x41b0f0
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push 0x78
push 0x95bcf8
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x2c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x38]
add esp, 0x20
cmp eax, dword [0x858090]
je 0x41b165
push 3
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b183
push str.IdentTable_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x9cfe90
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
push ebp
push dword [0x9cfe90]
push dword [0x9cfe94]
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x9cfe9c
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x58]
push ebp
push ebx
push eax
call fcn.0043100f
add esp, 0x40
jmp 0x41b251
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x2c]
push ebp
push ebx
push eax
call fcn.0043100f
mov ecx, dword [esp + 0x34]
mov eax, dword [0x9cfea4]
mov edx, dword [0x9cfe94]
add edx, dword [esp + 0x38]
mov dword [eax + ecx*4], edx
imul eax, dword [esp + 0x20], 0xc
mov ecx, dword [0x9cfea0]
push dword [eax + 0xdd2378]
mov eax, dword [esp + 0x38]
push ebp
push ebx
lea eax, [ecx + eax*4]
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x48]
push ebp
push ebx
push eax
call fcn.0043100f
add esp, 0x30
mov eax, dword [0x858090]
cmp dword [esp + 0x24], eax
jne 0x41b1ea
cmp dword [esp + 0x18], eax
je 0x41b269
push ebx
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b287
push str.Trees_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x95ab0c
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x958af4
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [0x95ab0c]
sub eax, dword [0x958af4]
inc eax
imul eax, eax, 0x18
push ebp
push eax
imul eax, dword [0x958af4], 0x18
add eax, dword [0x95ab10]
push eax
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x4c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x58]
add esp, 0x40
cmp eax, dword [0x858090]
je 0x41b312
push 5
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b330
push str.Kids_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x95ab08
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x958af0
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
mov ecx, dword [0x958af0]
push dword [eax + 0xdd2378]
mov eax, dword [0x95ab08]
sub eax, ecx
push ebp
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x95ab14]
lea eax, [eax + ecx*4]
push eax
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c8e8
call fcn.0043100f
imul eax, dword [esp + 0x50], 0xc
add esp, 0x40
push dword [eax + 0xdd2378]
lea eax, [esp + 0x1c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, dword [0x858090]
je 0x41b3d5
push 6
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b3f3
push str.SymbolTable_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0x95ab28
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [0x95ab28]
push ebp
shl eax, 2
push eax
push dword [0x95ab2c]
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x3c]
push ebp
push ebx
push eax
call fcn.0043100f
mov eax, dword [esp + 0x48]
add esp, 0x30
cmp eax, dword [0x858090]
je 0x41b458
push 7
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b476
push str.Rules_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push ebx
push 0xf5c8d0
call fcn.0043100f
add esp, 0x10
mov ebx, ebp
mov dword [esp + 0x24], ebx
cmp dword [0xf5c8d0], ebp
jl 0x41b789
push 0x4c
pop ecx
mov dword [esp + 0x28], ecx
imul eax, dword [esp + 0x10], 0xc
mov esi, dword [0xf5c8d4]
add esi, ecx
push dword [eax + 0xdd2378]
push ebp
push 4
pop edi
push edi
push esi
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x18]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x1c]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x20]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x50], 0xc
add esp, 0x40
push dword [eax + 0xdd2378]
lea eax, [esi + 0x24]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x30]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x3c]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x48]
push ebp
push edi
push eax
call fcn.0043100f
imul eax, dword [esp + 0x50], 0xc
add esp, 0x40
push dword [eax + 0xdd2378]
lea eax, [esi + 0x42]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x43]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x40]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0x41]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x50], 0xc
add esp, 0x40
push dword [eax + 0xdd2378]
lea eax, [esi + 0x44]
push ebp
push ebp
push eax
call fcn.0043100f
mov eax, dword [0xf5c8b4]
lea ebp, [esi + 0x2c]
mov dword [esi + 0x28], eax
xor edx, edx
imul eax, dword [esp + 0x20], 0xc
inc edx
push dword [eax + 0xdd2378]
push edx
push 2
push ebp
call fcn.0043100f
movzx eax, word [ebp]
xor edx, edx
inc edx
add esp, 0x20
mov edi, edx
mov ecx, eax
cmp dx, ax
ja 0x41b645
xor ebx, ebx
inc ebx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [esi + 0x28]
add eax, edi
imul eax, eax, 0x28
push ebx
push 0x28
add eax, dword [0xf5c8b8]
push eax
call fcn.0043100f
movzx ecx, word [ebp]
add esp, 0x10
inc edi
cmp edi, ecx
jle 0x41b610
mov ebx, dword [esp + 0x24]
xor edx, edx
inc edx
movzx eax, cx
lea ebp, [esi + 0x38]
mov ecx, dword [0xf5c8b4]
add ecx, eax
mov dword [0xf5c8b4], ecx
mov dword [esi + 0x34], ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push edx
push 2
push ebp
call fcn.0043100f
movzx eax, word [ebp]
xor edx, edx
inc edx
add esp, 0x10
mov edi, edx
mov ecx, eax
cmp dx, ax
ja 0x41b6b8
xor ebx, ebx
inc ebx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [esi + 0x34]
add eax, edi
imul eax, eax, 0x28
push ebx
push 0x28
add eax, dword [0xf5c8b8]
push eax
call fcn.0043100f
movzx ecx, word [ebp]
add esp, 0x10
inc edi
cmp edi, ecx
jle 0x41b686
mov ebx, dword [esp + 0x24]
movzx eax, cx
xor edi, edi
add dword [0xf5c8b4], eax
inc edi
mov eax, dword [0xf5c8c4]
mov dword [esi + 4], eax
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 8]
push edi
push 2
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esi + 0xa]
push edi
push 2
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
lea ebp, [esi + 0xc]
push dword [eax + 0xdd2378]
push edi
push 2
push ebp
call fcn.0043100f
movzx eax, word [ebp]
xor edx, edx
inc edx
add esp, 0x30
mov ecx, eax
cmp dx, ax
ja 0x41b757
xor ebx, ebx
inc ebx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
mov eax, dword [esi + 4]
add eax, edi
imul eax, eax, 0x18
push ebx
push 0x18
add eax, dword [0xf5c8cc]
push eax
call fcn.0043100f
movzx ecx, word [ebp]
add esp, 0x10
inc edi
cmp edi, ecx
jle 0x41b725
mov ebx, dword [esp + 0x24]
movzx eax, cx
add dword [0xf5c8c4], eax
xor eax, eax
and dword [esi + 0x10], 0
inc ebx
mov ecx, dword [esp + 0x28]
add ecx, 0x4c
mov word [esi + 0x14], ax
push 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ecx
pop ebp
cmp ebx, dword [0xf5c8d0]
jle 0x41b4a9
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push 4
pop edi
push edi
push 0xf5c8d8
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x2c]
push ebp
push edi
push eax
call fcn.0043100f
mov eax, dword [esp + 0x38]
add esp, 0x20
cmp eax, dword [0x858090]
je 0x41b7d1
push 8
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b7ef
push str.Options_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
push ebp
push 0x26
push 0x9cfe20
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x2b]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
movzx eax, byte [esp + 0x3b]
push ebp
inc eax
push eax
push 0x9cae00
call fcn.0043100f
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
push ebp
push edi
push 0x9cbe04
call fcn.0043100f
imul eax, dword [esp + 0x50], 0xc
add esp, 0x40
push dword [eax + 0xdd2378]
push ebp
push edi
push 0x9cbe00
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x2b]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x30], 0xc
push dword [eax + 0xdd2378]
movzx eax, byte [esp + 0x3b]
push ebp
inc eax
push eax
push 0x9c9e00
call fcn.0043100f
add esp, 0x30
mov esi, ebp
cmp byte [esp + 0x17], 1
jb 0x41b8c6
movzx eax, byte [esi + 0x9c9dff]
push ebp
push eax
call fcn.0041f314
movzx eax, byte [esp + 0x1f]
inc esi
pop ecx
pop ecx
cmp esi, eax
jle 0x41b8ac
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x1b]
push ebp
push ebp
push eax
call fcn.0043100f
imul eax, dword [esp + 0x20], 0xc
push dword [eax + 0xdd2378]
movzx eax, byte [esp + 0x2b]
push ebp
inc eax
push eax
push 0x9c8e00
call fcn.0043100f
add esp, 0x20
mov esi, ebp
cmp byte [esp + 0x17], 1
jb 0x41b920
movzx eax, byte [esi + 0x9c8dff]
push ebp
push eax
call fcn.0041f33c
movzx eax, byte [esp + 0x1f]
inc esi
pop ecx
pop ecx
cmp esi, eax
jle 0x41b906
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x30]
push ebp
push ebp
push eax
call fcn.0043100f
push ebp
push dword [esp + 0x40]
call fcn.0041f41b
imul eax, dword [esp + 0x28], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x48]
push ebp
push ebp
push eax
call fcn.0043100f
push ebp
push dword [esp + 0x58]
call fcn.0041f41b
imul eax, dword [esp + 0x40], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x4c]
push ebp
push edi
push eax
call fcn.0043100f
mov eax, dword [esp + 0x58]
add esp, 0x40
cmp eax, dword [0x858090]
je 0x41b990
push 9
call fcn.0041c7f1
pop ecx
cmp byte [0x9cfe27], 0
je 0x41b9ae
push str.EOF_n
push 2
call fcn.00428bcd
pop ecx
push eax
call fcn.00401b37
pop ecx
pop ecx
imul eax, dword [esp + 0x10], 0xc
push dword [eax + 0xdd2378]
lea eax, [esp + 0x1c]
push ebp
push edi
push eax
call fcn.0043100f
mov eax, dword [esp + 0x28]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
cmp eax, dword [0x858090]
je 0x41b9e0
push 0xa
call fcn.0041c7f1
pop ecx
imul eax, dword [esp], 0xc
push dword [eax + 0xdd2378]
call fcn.00428e5d
imul eax, dword [esp + 4], 0xc
pop ecx
mov ecx, dword [esp + 0x1020]
xor ecx, esp
and dword [eax + 0xdd2378], 0
and dword [eax + 0xdd237c], 0
call fcn.00423f0c
add esp, 0x1024
ret