Function at 0x41f4e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, edx
cmp dword [edi + 0x28], 0
mov dword [edi + 0x5c], ecx
jne 0x41f590
cmp dword [edi + 0x2c], 0
mov dword [edi + 0x28], 1
jne 0x41f50c
mov dword [edi + 0x2c], 1
cmp dword [edi + 4], 0
jne 0x41f51f
push 0
call fcn.00442973
add esp, 4
mov dword [edi + 4], eax
cmp dword [edi + 8], 0
jne 0x41f532
push 1
call fcn.00442973
add esp, 4
mov dword [edi + 8], eax
mov esi, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
test esi, esi
je 0x41f541
mov eax, dword [esi + edx*4]
jmp 0x41f543
xor eax, eax
test eax, eax
jne 0x41f569
mov ecx, edi
call fcn.00420d10
mov ecx, dword [edi + 4]
push edi
call fcn.00420bd0
mov edx, dword [edi + 0xc]
add esp, 4
mov ecx, dword [edi + 0x14]
mov dword [ecx + edx*4], eax
mov edx, dword [edi + 0xc]
mov esi, dword [edi + 0x14]
mov eax, dword [esi + edx*4]
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + edx*4]
mov ecx, dword [eax + 8]
mov dword [edi + 0x24], ecx
mov dword [edi + 0x50], ecx
mov eax, dword [esi + edx*4]
mov eax, dword [eax]
mov dword [edi + 4], eax
mov al, byte [ecx]
mov byte [edi + 0x18], al
nop dword [eax + eax]
mov esi, dword [edi + 0x24]
mov al, byte [edi + 0x18]
mov dword [ebp - 4], esi
mov byte [esi], al
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x1c]
add ecx, dword [edi + 0x2c]
mov dword [ebp - 8], esi
nop dword [eax]
movzx eax, byte [esi]
lea edx, [ecx + ecx]
cmp word [edx + 0x46d178], 0
mov bl, byte [eax + 0x46ce48]
je 0x41f5cc
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], esi
movsx eax, word [edx + 0x46d538]
movzx esi, bl
add eax, esi
movsx eax, word [eax*2 + 0x46d2f8]
cmp eax, ecx
je 0x41f611
movsx ecx, word [edx + 0x46d640]
cmp ecx, 0x67
jl 0x41f5f6
mov bl, byte [esi + 0x46d144]
lea edx, [ecx + ecx]
movzx esi, bl
movsx eax, word [edx + 0x46d538]
add eax, esi
movsx eax, word [eax*2 + 0x46d2f8]
cmp eax, ecx
jne 0x41f5e4
movsx ecx, word [ecx*2 + 0x46d538]
mov esi, dword [ebp - 8]
movzx eax, bl
inc esi
add ecx, eax
mov dword [ebp - 8], esi
movsx ecx, word [ecx*2 + 0x46cf48]
cmp ecx, 0x66
jne 0x41f5b0
mov edx, dword [ebp - 4]
mov ebx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
nop
movsx esi, word [eax*2 + 0x46d178]
mov eax, ebx
sub eax, edx
mov dword [edi + 0x50], edx
mov dword [edi + 0x20], eax
mov al, byte [ebx]
mov byte [edi + 0x18], al
mov byte [ebx], 0
mov dword [edi + 0x24], ebx
cmp esi, 0x2b
je 0x41f6a0
cmp dword [esi*4 + 0x46d248], 0
je 0x41f6a0
xor edx, edx
cmp dword [edi + 0x20], edx
jle 0x41f6a0
mov eax, dword [edi + 0x50]
cmp byte [edx + eax], 0xa
jne 0x41f698
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
inc dword [eax + 0x20]
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x24], 0
inc edx
cmp edx, dword [edi + 0x20]
jl 0x41f673
nop
cmp esi, 0x2f
ja case.default.0x41f6a9
jmp dword [esi*4 + 0x4205bc]
mov al, byte [edi + 0x18]
mov esi, ebx
sub esi, dword [edi + 0x50]
mov byte [ebx], al
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x14]
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0x2c], 0
jne 0x41f6ed
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1c], eax
mov ecx, dword [edx + ecx*4]
mov eax, dword [edi + 4]
mov dword [ecx], eax
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x2c], 1
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x14]
mov eax, dword [edx + ecx*4]
mov ecx, edi
mov eax, dword [eax + 4]
add eax, dword [edi + 0x1c]
cmp dword [edi + 0x24], eax
jbe 0x41f75c
call fcn.00420680
sub eax, 0
je 0x41f810
sub eax, 1
jne 0x41f72c
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x50]
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x2c]
dec eax
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, 0x2c
jmp 0x41f6a0
sub eax, 1
jne 0x41f590
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, edi
mov eax, dword [eax + 4]
add eax, dword [edi + 0x1c]
mov dword [edi + 0x24], eax
call fcn.004209e0
mov edx, dword [edi + 0x50]
mov ebx, dword [edi + 0x24]
mov dword [ebp - 4], edx
jmp 0x41f640
mov eax, dword [edi + 0x50]
dec eax
add eax, esi
mov dword [edi + 0x24], eax
call fcn.004209e0
mov edx, eax
mov bl, 1
lea esi, [edx + edx]
cmp word [esi + 0x46d178], 0
je 0x41f784
mov eax, dword [edi + 0x24]
mov dword [edi + 0x40], edx
mov dword [edi + 0x44], eax
movsx eax, word [esi + 0x46d538]
movsx eax, word [eax*2 + 0x46d2fa]
cmp eax, edx
je 0x41f7d0
nop word [eax + eax]
movsx edx, word [esi + 0x46d640]
cmp edx, 0x67
jl 0x41f7b5
movzx eax, bl
mov bl, byte [eax + 0x46d144]
lea esi, [edx + edx]
movzx eax, bl
movsx ecx, word [esi + 0x46d538]
add ecx, eax
movsx eax, word [ecx*2 + 0x46d2f8]
cmp eax, edx
jne 0x41f7a0
movsx ecx, word [edx*2 + 0x46d538]
mov edx, dword [edi + 0x50]
movzx eax, bl
add ecx, eax
mov dword [ebp - 4], edx
xor eax, eax
movsx ecx, word [ecx*2 + 0x46cf48]
cmp ecx, 0x66
cmove ecx, eax
test ecx, ecx
je 0x41f639
inc dword [edi + 0x24]
mov esi, dword [edi + 0x24]
jmp 0x41f5aa
mov al, byte [edi + 0x18]
mov byte [ebx], al
jmp 0x41f636
mov eax, dword [edi + 0x50]
mov ecx, edi
dec eax
add eax, esi
mov dword [edi + 0x24], eax
call fcn.004209e0
mov edx, dword [edi + 0x50]
mov ecx, eax
mov esi, dword [edi + 0x24]
mov dword [ebp - 4], edx
jmp 0x41f5aa
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f850
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov dword [edi + 0x2c], 3
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f87c
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov dword [edi + 0x2c], 1
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f8a8
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov dword [edi + 0x2c], 5
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f8d4
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi + 0x50]
mov ebx, esi
mov edx, dword [edi]
mov dword [ebp - 8], edx
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x41f8e1
mov eax, dword [edx + 0xb0]
sub ebx, ecx
lea ecx, [eax + 1]
add ecx, ebx
cmp ecx, dword [edx + 0xb4]
jbe 0x41f927
lea eax, [ecx + 0x3f]
and eax, 0xffffffc0
push eax
push dword [edx + 0xac]
mov dword [edx + 0xb4], eax
call fcn.00440a85
mov edx, dword [ebp - 8]
add esp, 8
mov dword [edx + 0xac], eax
mov eax, dword [edx + 0xb0]
mov ecx, dword [edx + 0xac]
add ecx, eax
nop
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x41f930
add dword [edx + 0xb0], ebx
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f969
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41f9a3
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0xa
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f9d8
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fa12
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0xd
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fa47
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fa81
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 9
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fab6
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41faf0
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0xc
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fb25
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fb5f
add eax, 0x3f
and eax, 0xffffffc0
push eax
mov dword [esi + 0xb4], eax
push dword [esi + 0xac]
call fcn.00440a85
mov dword [esi + 0xac], eax
add esp, 8
mov ecx, dword [esi + 0xb0]
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0x5c
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fb94
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fbce
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0x22
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fc03
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, dword [edi + 0x50]
push 0x10
add eax, 2
push 0
push eax
call fcn.00442aa7
mov esi, dword [edi]
mov bl, al
add esp, 0xc
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fc52
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], bl
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fc86
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov dword [edi + 0x2c], 7
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fcb2
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi + 0x50]
mov ebx, esi
mov edx, dword [edi]
mov dword [ebp - 8], edx
lea ecx, [ebx + 1]
nop
mov al, byte [ebx]
inc ebx
test al, al
jne 0x41fcc0
mov eax, dword [edx + 0xb0]
sub ebx, ecx
lea ecx, [eax + 1]
add ecx, ebx
cmp ecx, dword [edx + 0xb4]
jbe 0x41fd06
lea eax, [ecx + 0x3f]
and eax, 0xffffffc0
push eax
push dword [edx + 0xac]
mov dword [edx + 0xb4], eax
call fcn.00440a85
mov edx, dword [ebp - 8]
add esp, 8
mov dword [edx + 0xac], eax
mov eax, dword [edx + 0xb0]
mov ecx, dword [edx + 0xac]
add ecx, eax
nop
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x41fd10
add dword [edx + 0xb0], ebx
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fd49
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi]
mov ecx, dword [esi + 0xb0]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0xb4]
jbe 0x41fd83
add eax, 0x3f
and eax, 0xffffffc0
push eax
push dword [esi + 0xac]
mov dword [esi + 0xb4], eax
call fcn.00440a85
mov ecx, dword [esi + 0xb0]
add esp, 8
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xac]
mov byte [ecx + eax], 0x22
inc dword [esi + 0xb0]
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41fdb8
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, dword [edi]
xorps xmm0, xmm0
mov dword [ebp - 8], 0
mov esi, dword [eax + 0xac]
movq qword [eax + 0xac], xmm0
mov dword [eax + 0xb4], 0
test esi, esi
jne 0x41fdef
push 0x46bfff
call fcn.0044791d
add esp, 4
mov esi, eax
mov eax, dword [edi + 0x14]
test eax, eax
je 0x41fdfe
mov ecx, dword [edi + 0xc]
mov edx, dword [eax + ecx*4]
jmp 0x41fe00
xor edx, edx
mov ecx, dword [edi]
lea eax, [ebp - 8]
push eax
push esi
call fcn.0041f300
push esi
mov ebx, eax
call fcn.0043f527
add esp, 0xc
test ebx, ebx
je 0x41fe7a
push 0x30
mov dword [edi + 4], ebx
call fcn.0043f7f7
mov esi, eax
add esp, 4
test esi, esi
je 0x4205a7
push 0x4002
mov dword [esi + 0xc], 0x4000
call fcn.0043f7f7
add esp, 4
mov dword [esi + 4], eax
test eax, eax
je 0x4205a7
push edi
mov edx, ebx
mov dword [esi + 0x14], 1
mov ecx, esi
call fcn.00420c40
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.00420b30
mov dword [edi + 0x2c], 1
jmp 0x41f590
mov ecx, dword [ebp - 8]
test ecx, ecx
jne 0x4200bd
mov dword [edi + 0x2c], 1
jmp 0x41f590
movzx eax, byte [edi + 0x18]
mov edx, dword [ebp - 4]
mov byte [ebx], al
dec ebx
mov eax, ebx
mov dword [edi + 0x24], ebx
sub eax, edx
mov dword [edi + 0x50], edx
mov dword [edi + 0x20], eax
movzx eax, byte [ebx]
mov byte [edi + 0x18], al
mov byte [ebx], 0
mov dword [edi + 0x24], ebx
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x41f590
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
jmp 0x41f590
mov ebx, dword [edi]
xor ecx, ecx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ecx
mov esi, dword [ebx + 0xa8]
test esi, esi
je 0x41ffe9
add esi, esi
mov eax, dword [ebx + esi*8 - 4]
test eax, eax
je 0x41ff04
add eax, 4
jmp 0x41ff08
mov eax, dword [ebx + esi*8 - 8]
mov dword [ebx + esi*8 - 4], eax
mov edx, dword [ebx + esi*8]
test edx, edx
je 0x41ff2a
push edx
call fcn.00440a05
mov eax, dword [ebx + esi*8 - 4]
add esp, 4
mov ecx, dword [ebp - 8]
mov dword [ebx + esi*8], 0
mov eax, dword [eax]
test eax, eax
je 0x41ffe9
push 0x46fdc4
push eax
call fcn.00440978
mov ebx, eax
add esp, 8
mov eax, dword [ebp - 4]
mov ecx, str.cannot_open_include_file
mov dword [eax + esi*8], ebx
xor eax, eax
test ebx, ebx
cmovne ecx, eax
je 0x41ffe9
mov eax, dword [edi + 0x14]
mov dword [edi + 4], ebx
test eax, eax
je 0x41ff94
mov ecx, dword [edi + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x41ff94
mov dword [eax + ecx*4], 0
cmp dword [esi + 0x14], 0
je 0x41ff88
push dword [esi + 4]
call fcn.0043f527
add esp, 4
push esi
call fcn.0043f527
mov ebx, dword [edi + 4]
add esp, 4
push 0x30
call fcn.0043f7f7
mov esi, eax
add esp, 4
test esi, esi
je 0x4205a7
push 0x4002
mov dword [esi + 0xc], 0x4000
call fcn.0043f7f7
add esp, 4
mov dword [esi + 4], eax
test eax, eax
je 0x4205a7
push edi
mov edx, ebx
mov dword [esi + 0x14], 1
mov ecx, esi
call fcn.00420c40
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.00420b30
jmp 0x41f590
mov esi, dword [edi]
test ecx, ecx
jne 0x420127
mov ebx, dword [esi + 0xa8]
test ebx, ebx
je 0x42011e
dec ebx
mov dword [esi + 0xa8], ebx
shl ebx, 4
push dword [ebx + esi + 8]
call fcn.0043f527
mov eax, dword [ebx + esi + 0x10]
add esp, 4
mov dword [ebx + esi + 8], 0
test eax, eax
je 0x420038
push eax
call fcn.00440a05
add esp, 4
mov dword [ebx + esi + 0x10], 0
mov esi, dword [ebx + esi + 0x14]
test esi, esi
je 0x42011e
mov eax, dword [edi + 0x14]
test eax, eax
je 0x420076
mov ecx, dword [edi + 0xc]
mov ebx, dword [eax + ecx*4]
test ebx, ebx
je 0x420076
mov dword [eax + ecx*4], 0
cmp dword [ebx + 0x14], 0
je 0x42006d
push dword [ebx + 4]
call fcn.0043f527
add esp, 4
push ebx
call fcn.0043f527
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.00420b30
jmp 0x41f590
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4200a7
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi + 0x20]
push dword [edi + 8]
push 1
push esi
push dword [edi + 0x50]
call fcn.00442f04
add esp, 0x10
jmp 0x41f590
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [eax + 0x1c], ecx
mov ecx, dword [edi]
mov eax, dword [ecx + 0xa8]
test eax, eax
jle 0x4200da
add eax, eax
mov eax, dword [ecx + eax*8 - 4]
mov edx, dword [eax]
jmp 0x4200dd
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [eax + 0x20], edx
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x420109
mov eax, dword [edi + 0xc]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x420109
mov eax, dword [edi]
mov ecx, dword [ecx + 0x20]
mov eax, dword [eax]
mov dword [eax + 0x24], ecx
mov eax, 0x115
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
xor ecx, ecx
mov eax, dword [eax]
mov dword [eax + 0x24], ecx
mov eax, 0x115
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
jmp 0x4200c1
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42014b
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, dword [edi]
xorps xmm0, xmm0
mov edx, dword [eax + 0xac]
movq qword [eax + 0xac], xmm0
mov dword [eax + 0xb4], 0
test edx, edx
jne 0x42017b
push 0x46bfff
call fcn.0044791d
add esp, 4
mov edx, eax
mov ecx, dword [edi + 0x5c]
mov eax, 0x108
mov dword [ecx], edx
mov dword [edi + 0x2c], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4201b3
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x10a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4201df
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x110
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42020b
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x111
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420237
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x112
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420263
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, dword [edi + 0x5c]
mov dword [eax], 1
mov eax, 0x102
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420298
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, dword [edi + 0x5c]
mov dword [eax], 0
mov eax, 0x102
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4202cd
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov ecx, dword [edi + 0x5c]
mov eax, dword [edi + 0x50]
mov dword [ecx], eax
mov eax, 0x109
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420301
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
push dword [edi + 0x50]
call fcn.004464d5
mov eax, dword [edi + 0x5c]
add esp, 4
fstp qword [eax]
mov eax, 0x107
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42033d
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov esi, dword [edi + 0x50]
call fcn.00442fd5
mov eax, dword [eax]
mov dword [ebp - 4], eax
call fcn.00442fd5
push 0
mov dword [eax], 0
lea eax, [ebp - 8]
push eax
push esi
call fcn.00442ad3
mov ecx, dword [ebp - 8]
add esp, 0xc
mov esi, eax
mov ebx, edx
cmp byte [ecx], 0
jne 0x4203c6
call fcn.00442fd5
cmp dword [eax], 0
jne 0x4203c6
call fcn.00442fd5
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
cmp ebx, 0xffffffff
jl 0x4203b2
jg 0x420393
cmp esi, 0x80000000
jb 0x4203b2
test ebx, ebx
jg 0x4203b2
jl 0x4203a1
cmp esi, 0x7fffffff
ja 0x4203b2
mov eax, dword [edi + 0x5c]
mov dword [eax], esi
mov eax, 0x103
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x5c]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov eax, 0x105
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00442fd5
mov dword [eax], 0
mov eax, 0x115
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4203fd
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
push dword [edi + 0x50]
call fcn.00440566
mov ecx, dword [edi + 0x5c]
add esp, 4
mov dword [ecx], eax
mov eax, 0x105
mov dword [ecx + 4], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42043c
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
push 0x10
push 0
push dword [edi + 0x50]
call fcn.00442aff
mov ecx, dword [edi + 0x5c]
add esp, 0xc
mov dword [ecx], eax
mov eax, 0x104
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42047c
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
push 0x10
push 0
push dword [edi + 0x50]
call fcn.00442b2b
mov ecx, dword [edi + 0x5c]
add esp, 0xc
mov dword [ecx], eax
mov eax, 0x106
mov dword [ecx + 4], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4204bf
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x10c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x4204eb
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x10d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420517
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x10e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x420543
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x10f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42056f
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
mov eax, 0x113
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x20]
test esi, esi
jle 0x42059b
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x14]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [edi + 0x50]
cmp byte [eax + esi - 1], 0xa
sete cl
mov dword [edx + 0x1c], ecx
pop edi
pop esi
mov eax, 0x114
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.out_of_dynamic_memory_in_yy_create_buffer__
call fcn.00420da0
mov ecx, str.fatal_flex_scanner_internal_error__no_action_found
call fcn.00420da0
nop
push es
clc
inc ecx
add byte [eax], dh
clc
inc ecx
add byte [eax + edi*8 + 0x41], bl
add byte [esi + edi*8 - 0x14bffbf], dh
inc ecx
add byte [eax - 0x4bffbe08], cl
clc
inc ecx
add byte [ecx - 7], cl
inc ecx
add byte [eax + 0x270041f9], bh
cli
inc ecx
add byte [esi + 0x50041fa], dl
sti
inc ecx
add byte [ebx + edi*8 + 0x41], dh
add bl, ah
sti
inc ecx
add byte [0x2b0041fb], al
add dword [edx], eax
cld
inc ecx
add byte [edx + 0x50041fc], dl
sti
inc ecx
add byte [ecx], ch
std
inc ecx
add byte [eax - 0x4bffbe03], bl
inc byte [ecx]
mov ah, 0xfe
inc ecx
add byte [ebx - 0x40ffbdff], dl
add dword [edx], eax
jmp 0x420623
add byte [edi], dl
add al, byte [edx]
inc ebx
add al, byte [edx]
js 0x420630
inc edx
add byte [ebp - 0x1effbdfe], ch
add al, byte [edx]
lodsd eax, dword [esi]
add al, byte [edx]
loope 0x420638
inc edx
add byte [0xdd004203], bl
sbb eax, 0xdd004203
add eax, dword [edx]
sbb al, 4
inc edx
add byte [esp + eax + 0x42], bl
add byte [edi - 0x34ffbdfc], bl
add al, 0x42
add bh, dh
add al, 0x42
add byte [ebx], ah
add eax, 0x54f0042
inc edx
add byte [ecx + 0x7b0041fe], dl
add eax, 0x840042
inc edx
add byte [eax - 0x22ffbe0a], dh
inc byte [ecx]
invalid