Function at 0x10017520
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
test edi, edi
je 0x1001757a
lea eax, [esp + 0x20]
mov dword [esp + 0x14], 3
xorps xmm0, xmm0
mov dword [esp + 0x18], 0
push eax
mov edx, 0x30
movlpd qword [esp + 0x24], xmm0
lea ecx, [esp + 0x18]
call fcn.1000b6d0
mov eax, dword [0x1006e7a4]
add esp, 4
mov dword [eax], 0
mov esi, dword [0x1005e760]
cmp esi, 0xc0
jl 0x10017594
cmp esi, 0xcf
jle 0x100179c5
call fcn.10008900
cmp esi, 0x103
je 0x10018a47
cmp esi, 0x105
je 0x10018956
cmp esi, 0x7b
je 0x1001871d
cmp esi, 0x107
je 0x1001857a
cmp esi, 0x106
je 0x100184a7
cmp esi, 0x10e
je 0x100183fb
cmp esi, 0x108
je 0x1001815c
cmp esi, 0x10d
je 0x1001800a
cmp esi, 0x10f
je 0x10017cc0
cmp esi, 0x110
jne 0x1001771d
push 0x18
call fcn.1003dd3b
mov esi, eax
add esp, 4
test esi, esi
je 0x10018bd1
cmp dword [0x1006e770], 0
je 0x10018b77
call fcn.100169d0
mov dword [esi + 8], eax
mov dword [esi], eax
mov eax, dword [0x1006e7ec]
mov dword [esi + 0xc], edx
mov dword [esi + 4], edx
cmp byte [eax + 0x48], 0
je 0x10017697
cmp dword [0x1005e760], 0xa1
jne 0x10017697
call fcn.10008900
call fcn.100169d0
mov edi, dword [0x1006e770]
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
test byte [edi + 0x18], 0x10
jne 0x1001767f
cmp edx, dword [esi + 4]
jl 0x1001768a
jg 0x1001769d
cmp eax, dword [esi]
jb 0x1001768a
jmp 0x1001769d
cmp edx, dword [esi + 4]
ja 0x1001769d
jb 0x1001768a
cmp eax, dword [esi]
jae 0x1001769d
push str.empty_case_range
call fcn.1002c530
add esp, 4
mov edi, dword [0x1006e770]
mov eax, dword [0x1006e81c]
and dword [0x10071698], 0xdfffffff
mov dword [esi + 0x10], eax
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [esp + 0x10], ecx
lea eax, [ecx - 1]
test ecx, eax
jne 0x100176f3
mov eax, 4
test ecx, ecx
je 0x100176cf
lea eax, [ecx*8]
push eax
push edx
mov dword [esp + 0x44], eax
call fcn.100373ba
mov edx, eax
add esp, 8
test edx, edx
jne 0x100176ed
cmp dword [esp + 0x3c], eax
jne 0x10018b4c
mov ecx, dword [esp + 0x10]
mov dword [edi], edx
lea eax, [ecx + 1]
mov dword [edx + ecx*4], esi
mov dword [edi + 4], eax
mov ecx, dword [0x1005e760]
cmp ecx, 0x3a
jne 0x10018b56
call fcn.10008900
mov dword [esp + 0x1c], 0
jmp 0x10017953
cmp esi, 0x12d
jne 0x10017770
mov ecx, dword [0x1006e770]
test ecx, ecx
je 0x10018b77
cmp dword [ecx + 8], 0
jne 0x10018b6d
mov eax, dword [0x1006e81c]
and dword [0x10071698], 0xdfffffff
mov dword [ecx + 8], eax
mov ecx, dword [0x1005e760]
cmp ecx, 0x3a
jne 0x10018b56
call fcn.10008900
mov dword [esp + 0x1c], 0
jmp 0x10017953
cmp esi, 0x10c
je 0x10017a57
cmp esi, 0x13a
je 0x10017a41
cmp esi, 0x13b
je 0x10017a41
cmp esi, 0x13c
je 0x10017a41
cmp dword [0x1005e760], 0x3a
jne 0x100179b5
cmp esi, 0x13d
jl 0x100179b5
call fcn.10008900
mov eax, dword [0x1006e7f0]
lea ecx, [esi - 0x100]
add eax, 0xffffff00
lea edi, [ecx*4]
cmp ecx, eax
jae 0x100178df
mov eax, dword [0x1005e75c]
mov eax, dword [edi + eax]
mov edx, dword [eax + 8]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x100178df
cmp word [edx + 4], 0
je 0x10018b81
mov esi, dword [edx + 0x18]
xor eax, eax
mov word [edx + 4], ax
test esi, esi
je 0x100178bb
mov edi, dword [0x10071698]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1001782e
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and edi, 0xdfffffff
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x10017816
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edi
mov esi, dword [edx + 0x18]
test esi, esi
je 0x100178af
mov ecx, dword [0x1006e888]
mov edi, dword [0x1005e75c]
mov edx, dword [esi]
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x14], eax
test edx, 0x20000000
jne 0x10017896
mov ecx, edx
and ecx, 0xbfffffff
cmp ecx, 0x10000000
jge 0x10017890
mov ecx, dword [edi + ecx*4 - 0x400]
and edx, 0x40000000
mov eax, dword [esi + 0x20]
neg edx
sbb edx, edx
and edx, 0xfffffffc
mov dword [edx + ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [0x1006e888]
mov dword [esi + 0x18], ecx
mov ecx, esi
mov dword [0x1006e888], ecx
mov esi, eax
test eax, eax
jne 0x10017850
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [edx + 0x18], 0
jmp 0x10017934
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x1001792e
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
mov edi, dword [0x10071698]
mov edx, dword [esp + 0x3c]
and edi, 0xdfffffff
jmp 0x10017934
call fcn.1000b400
mov edx, eax
xorps xmm0, xmm0
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm0
movq qword [edx + 0x20], xmm0
mov dword [edx], esi
mov eax, dword [0x1006e814]
mov dword [edx + 0x1c], eax
xor eax, eax
mov dword [0x1006e814], edx
mov word [edx + 4], ax
mov eax, dword [0x1005e75c]
mov ecx, dword [edi + eax]
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
je 0x10017929
nop dword [eax]
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
test eax, eax
jne 0x10017920
mov dword [edx + 0x20], eax
mov dword [ecx], edx
mov edi, dword [0x10071698]
mov eax, dword [0x1006e81c]
and edi, 0xdfffffff
mov dword [edx + 0xc], eax
mov eax, dword [0x1005e604]
mov dword [0x10071698], edi
mov eax, dword [eax + 0xc]
mov dword [edx + 0x18], eax
mov eax, dword [0x1005e604]
mov esi, dword [eax + 4]
test esi, esi
je 0x10017988
mov ecx, 0x48
call fcn.1001f340
mov ecx, 0x8b
call fcn.1001f340
mov edx, 0x32
push 0
push esi
push 0
lea ecx, [edx - 0x2e]
call fcn.1001f880
add esp, 0xc
mov esi, dword [0x1005e760]
cmp esi, 0x7d
jne 0x10017580
push str.deprecated_use_of_label_at_end_of_compound_statement
call fcn.1002c530
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
cmp esi, 0x3b
je 0x1001814b
mov ecx, esi
call fcn.10008c90
cmp dword [esp + 0x1c], 0
je 0x100179fd
call fcn.1000b750
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x10017a33
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x100179e1
jmp 0x10017a33
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x10017a28
nop dword [eax + eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x10017a10
call fcn.1000b750
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x10018b99
jmp 0x10018564
call fcn.10028350
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1006e7a8]
mov esi, dword [eax + 4]
test esi, esi
je 0x10017a8c
mov ecx, 0x48
call fcn.1001f340
mov ecx, 0x8b
call fcn.1001f340
mov edx, 0x32
push 0
push esi
push 0
lea ecx, [edx - 0x2e]
call fcn.1001f880
add esp, 0xc
mov esi, dword [0x1005e760]
cmp esi, 0x2a
jne 0x10017b00
mov eax, dword [0x1006e7ec]
cmp byte [eax + 0x48], 0
je 0x10018c4b
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x10017ad8
nop dword [eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x10017ac0
mov eax, dword [0x1006e7a4]
mov eax, dword [eax]
and eax, 0xf
cmp al, 5
jne 0x10018bb0
mov ecx, 1
call fcn.100205d0
sub dword [0x1006e7a4], 0x28
jmp 0x10017cac
cmp esi, 0x13d
jl 0x10018c4b
mov eax, dword [0x1006e7f0]
lea ecx, [esi - 0x100]
add eax, 0xffffff00
cmp ecx, eax
jae 0x10017b41
mov eax, dword [0x1005e75c]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 8]
test edi, edi
je 0x10017b41
cmp word [edi + 4], 2
jne 0x10017b94
mov eax, 1
mov word [edi + 4], ax
jmp 0x10017b94
call fcn.1000b400
mov edi, eax
xorps xmm0, xmm0
movups xmmword [edi], xmm0
movups xmmword [edi + 0x10], xmm0
movq qword [edi + 0x20], xmm0
mov dword [edi], esi
mov eax, dword [0x1006e814]
mov dword [edi + 0x1c], eax
mov eax, 1
mov dword [0x1006e814], edi
mov word [edi + 4], ax
mov eax, dword [0x1005e75c]
mov ecx, dword [eax + esi*4 - 0x400]
mov eax, dword [ecx + 8]
add ecx, 8
test eax, eax
je 0x10017b8f
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
test eax, eax
jne 0x10017b86
mov dword [edi + 0x20], eax
mov dword [ecx], edi
test byte [edi + 4], 1
mov esi, dword [0x1005e604]
je 0x10017c4e
cmp dword [esi + 0xc], 0
je 0x10017c14
cmp dword [0x10071698], 0
jne 0x10017c14
mov esi, dword [esi + 0x10]
call fcn.1000b400
mov ecx, eax
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0x10], xmm0
movq qword [ecx + 0x20], xmm0
mov dword [ecx + 8], esi
lea esi, [edi + 0x18]
mov dword [ecx], 0x20000000
mov eax, dword [0x1005e744]
mov dword [ecx + 0x1c], eax
mov dword [0x1005e744], ecx
mov dword [ecx + 0x20], edi
call fcn.1000b400
mov edi, eax
xorps xmm0, xmm0
movups xmmword [edi], xmm0
movups xmmword [edi + 0x10], xmm0
movq qword [edi + 0x20], xmm0
mov dword [edi], 0x20000000
mov eax, dword [esi]
mov dword [edi + 0x1c], eax
mov dword [esi], edi
mov eax, dword [0x1005e744]
mov dword [eax + 0x18], edi
cmp dword [0x10071698], 0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x14], eax
jne 0x10017c3f
mov ecx, 0xe9
call fcn.1001f340
mov ecx, dword [esp + 0x14]
mov esi, dword [0x1006e81c]
call fcn.1001f440
mov eax, esi
or dword [0x10071698], 0x20000000
mov dword [edi + 0xc], eax
jmp 0x10017ca7
mov ecx, dword [esi + 0xc]
mov eax, dword [edi + 0x18]
test ecx, ecx
je 0x10017c9f
test eax, eax
je 0x10017c66
mov edx, dword [eax]
and edx, 0xdfffffff
jmp 0x10017c68
xor edx, edx
mov esi, dword [esi + 0x10]
cmp edx, esi
jle 0x10017c7b
sub edx, esi
mov eax, dword [eax + 8]
sub edx, 1
jne 0x10017c71
jmp 0x10017c88
jge 0x10017c88
sub esi, edx
nop
mov ecx, dword [ecx + 8]
sub esi, 1
jne 0x10017c80
cmp ecx, eax
je 0x10017c9a
nop dword [eax]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + 8]
cmp ecx, eax
jne 0x10017c90
call fcn.10017220
mov ecx, dword [edi + 0xc]
call fcn.10009e40
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x10018bba
jmp 0x10018564
push 0x40
call fcn.1003dd3b
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x10018bd1
mov dword [esi], 0
lea eax, [esp + 0x38]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0xc], eax
mov eax, dword [0x1005e604]
mov dword [esi + 0x10], eax
mov eax, dword [0x1006e770]
mov dword [esi + 0x14], eax
mov ecx, dword [0x1005e760]
mov dword [0x1006e770], esi
cmp ecx, 0x28
jne 0x10018bdb
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x10017d8d
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x10017d73
cmp ecx, 0x29
jne 0x10018bf2
call fcn.10008900
mov eax, dword [0x1006e7a4]
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x18], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + 0x28], xmm0
movq xmm0, qword [eax + 0x20]
sub eax, 0x28
mov dword [0x1006e7a4], eax
mov eax, dword [0x10071698]
movq qword [esi + 0x38], xmm0
mov dword [esp + 0x38], 0
test eax, eax
je 0x10017dd6
xor esi, esi
jmp 0x10017df2
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
xor ecx, ecx
call fcn.1001f440
mov eax, dword [0x10071698]
mov edi, dword [0x1005e604]
or eax, 0x20000000
mov dword [0x10071698], eax
xor ecx, ecx
mov dword [esp + 0x34], esi
lea eax, [esp + 0x38]
mov esi, dword [edi + 0x14]
mov dword [edi + 0x14], eax
call fcn.10017520
mov dword [edi + 0x14], esi
mov esi, dword [0x10071698]
mov edi, dword [esp + 0x38]
test esi, esi
jne 0x10017e47
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
mov ecx, edi
call fcn.1001f440
mov edi, esi
mov esi, dword [0x10071698]
mov ecx, dword [esp + 0x34]
or esi, 0x20000000
mov dword [0x10071698], esi
mov dword [esp + 0x38], edi
test ecx, ecx
je 0x10017e76
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and esi, 0xdfffffff
mov dword [0x10071698], esi
mov esi, dword [esp + 0x14]
mov ecx, 0x10016e00
mov eax, 0x10016e40
test byte [esi + 0x18], 0x10
cmove eax, ecx
push eax
push 4
push dword [esi + 4]
push dword [esi]
call fcn.1003a950
mov edx, 1
add esp, 0x10
mov dword [esp + 0x34], edx
cmp dword [esi + 4], edx
jle 0x10017f11
mov ecx, edx
mov edi, ecx
nop dword [eax]
test byte [esi + 0x18], 0x10
mov eax, dword [esi]
je 0x10017ee3
mov edi, dword [eax + ecx*4 - 4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edi + 0xc]
cmp eax, dword [ecx + 4]
jb 0x10017ed7
ja 0x10017ed0
mov eax, dword [edi + 8]
cmp eax, dword [ecx]
jb 0x10017ed7
mov eax, 1
jmp 0x10017ed9
xor eax, eax
test eax, eax
jne 0x10018c09
jmp 0x10017f03
mov ecx, dword [eax + edi*4 - 4]
mov edi, dword [eax + edi*4]
mov eax, dword [ecx + 0xc]
cmp eax, dword [edi + 4]
jg 0x10018c09
jl 0x10017f03
mov eax, dword [ecx + 8]
cmp eax, dword [edi]
jae 0x10018c09
inc edx
mov ecx, edx
mov dword [esp + 0x34], edx
mov edi, ecx
cmp ecx, dword [esi + 4]
jl 0x10017eb0
mov eax, dword [0x1006e7a4]
cmp eax, 0x100715b0
jae 0x10018c13
movups xmm0, xmmword [esi + 0x18]
add eax, 0x28
mov ecx, 1
mov dword [0x1006e7a4], eax
movups xmmword [eax], xmm0
movups xmm0, xmmword [esi + 0x28]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [esi + 0x38]
movq qword [eax + 0x20], xmm0
call fcn.1000cf10
mov edx, dword [esi + 4]
lea eax, [esp + 0x3c]
mov ecx, dword [esi]
push eax
mov dword [esp + 0x40], 0
call fcn.10016e80
add esp, 4
call fcn.1000b750
mov edx, dword [esi + 8]
mov edi, dword [0x1006e81c]
mov ecx, dword [esp + 0x3c]
test edx, edx
je 0x10017f83
call fcn.1001f7c0
jmp 0x10017f98
test ecx, ecx
je 0x10017f98
mov edx, edi
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x10017fb1
mov edx, edi
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
cmp dword [esi + 4], 0
mov edi, dword [esi]
je 0x10017fd8
nop dword [eax]
mov eax, dword [edi]
test eax, eax
je 0x10017fcf
push eax
call fcn.1003ba4d
add esp, 4
add edi, 4
add dword [esi + 4], 0xffffffff
jne 0x10017fc0
push dword [esi]
call fcn.1003ba4d
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 0x14]
mov dword [0x1006e770], eax
push esi
call fcn.1003ba4d
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1006e81c]
lea ecx, [esp + 0x34]
and dword [0x10071698], 0xdfffffff
mov dword [esp + 0x3c], eax
mov eax, dword [0x1006e884]
mov dword [esp + 0x10], eax
mov eax, dword [0x1005e604]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x14], eax
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov dword [eax + 0x18], ecx
lea ecx, [esp + 0x38]
mov dword [eax + 0x14], ecx
xor ecx, ecx
mov dword [0x1006e884], eax
call fcn.10017520
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], esi
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov dword [0x1006e884], eax
test ecx, ecx
je 0x1001808f
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
mov ecx, dword [0x1005e760]
cmp ecx, 0x105
jne 0x10018c1d
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
jne 0x10018bdb
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x100180ea
nop word [eax + eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x100180d0
cmp ecx, 0x29
je 0x10018101
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
jmp 0x10018be8
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x10018b99
call fcn.10008900
xor edx, edx
xor ecx, ecx
call fcn.1000b9e0
mov edx, dword [esp + 0x3c]
mov ecx, eax
call fcn.1001f7c0
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x1001814b
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1005e604]
lea eax, [esp + 0x40]
inc dword [0x100715f4]
mov dword [0x1005e604], eax
mov eax, dword [0x1005e728]
movups xmm0, xmmword [ecx]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x10]
mov dword [esp + 0x40], ecx
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x5c], eax
mov eax, dword [0x1006e878]
mov dword [esp + 0x60], eax
mov eax, dword [0x1006e7ec]
cmp byte [eax + 0x2f], 0
je 0x100181b9
mov edx, dword [0x1006e81c]
mov ecx, 0xc0
sub edx, dword [0x1006e7f4]
call fcn.1000a390
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
je 0x100181d6
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x28
jmp 0x10018ba6
call fcn.10008900
cmp dword [0x1005e760], 0x3b
je 0x10018234
mov edx, 1
push 0
lea ecx, [edx + 0x31]
call fcn.1001b130
add esp, 4
test eax, eax
jne 0x10018225
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x10018220
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x10018208
call fcn.1000b750
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x10018b99
call fcn.10008900
and dword [0x10071698], 0xdfffffff
cmp dword [0x1005e760], 0x3b
mov eax, dword [0x1006e81c]
mov edi, eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], eax
je 0x100182aa
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x1001828d
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x10018275
xor edx, edx
lea ecx, [edx + 1]
call fcn.1000b9e0
mov ecx, dword [0x1005e760]
mov dword [esp + 0x38], eax
cmp ecx, 0x3b
jne 0x10018b99
call fcn.10008900
cmp dword [0x1005e760], 0x29
je 0x10018362
mov eax, dword [0x10071698]
test eax, eax
je 0x100182c9
xor esi, esi
jmp 0x100182e5
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
xor ecx, ecx
call fcn.1001f440
mov eax, dword [0x10071698]
and eax, 0xdfffffff
mov dword [0x10071698], eax
mov eax, dword [0x1006e81c]
mov dword [esp + 0x10], eax
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x1001831e
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x10018306
call fcn.1000b750
mov ecx, edi
call fcn.10009e40
test esi, esi
je 0x10018345
mov edx, dword [0x1006e81c]
mov ecx, esi
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
mov ecx, dword [0x1005e760]
cmp ecx, 0x29
je 0x10018362
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
jmp 0x10018ba6
call fcn.10008900
mov eax, dword [0x1006e884]
lea ecx, [esp + 0x34]
mov dword [esp + 0x3c], eax
mov eax, dword [0x1005e604]
mov dword [esp + 0x14], eax
mov dword [0x1006e884], eax
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov dword [eax + 0x18], ecx
lea ecx, [esp + 0x38]
mov dword [eax + 0x14], ecx
xor ecx, ecx
call fcn.10017520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], esi
mov eax, dword [esp + 0x3c]
mov dword [0x1006e884], eax
call fcn.10009e40
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
call fcn.1001f7c0
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x100183df
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and dword [0x10071698], 0xdfffffff
xor edx, edx
lea ecx, [esp + 0x40]
call fcn.10017310
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1005e604]
cmp dword [ecx + 0x18], 0
je 0x10018c37
mov esi, dword [0x1006e884]
test esi, esi
je 0x10018461
mov ecx, dword [esi + 0xc]
call fcn.10017220
mov ecx, dword [0x1005e604]
mov eax, dword [esi + 8]
cmp eax, dword [ecx + 8]
jge 0x10018461
mov esi, dword [esi + 4]
test esi, esi
je 0x10018461
mov ecx, 0x48
call fcn.1001f340
mov ecx, 0x8b
call fcn.1001f340
mov edx, 0x32
push 0
push esi
push 0
lea ecx, [edx - 0x2e]
call fcn.1001f880
mov ecx, dword [0x1005e604]
add esp, 0xc
mov eax, dword [ecx + 0x18]
mov edi, dword [eax]
mov eax, dword [0x10071698]
test eax, eax
jne 0x10018493
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
mov ecx, edi
call fcn.1001f440
mov eax, dword [0x10071698]
mov edi, esi
mov ecx, dword [0x1005e604]
or eax, 0x20000000
mov dword [0x10071698], eax
mov eax, dword [ecx + 0x18]
mov dword [eax], edi
jmp 0x10017a2d
mov eax, dword [0x1005e604]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x10018c41
mov esi, dword [0x1006e770]
test esi, esi
je 0x100184cb
cmp eax, dword [esi + 0xc]
jne 0x100184cb
mov esi, dword [esi + 0x10]
jmp 0x100184d1
mov esi, dword [0x1006e884]
test esi, esi
je 0x1001851a
mov ecx, dword [esi + 0xc]
call fcn.10017220
mov eax, dword [0x1005e604]
mov ecx, dword [esi + 8]
cmp ecx, dword [eax + 8]
jge 0x1001851a
mov esi, dword [esi + 4]
test esi, esi
je 0x1001851a
mov ecx, 0x48
call fcn.1001f340
mov ecx, 0x8b
call fcn.1001f340
mov edx, 0x32
push 0
push esi
push 0
lea ecx, [edx - 0x2e]
call fcn.1001f880
add esp, 0xc
mov eax, dword [0x1005e604]
mov eax, dword [eax + 0x14]
mov edi, dword [eax]
mov eax, dword [0x10071698]
test eax, eax
jne 0x1001854b
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
mov ecx, edi
call fcn.1001f440
mov eax, dword [0x10071698]
mov edi, esi
or eax, 0x20000000
mov dword [0x10071698], eax
mov eax, dword [0x1005e604]
mov eax, dword [eax + 0x14]
mov dword [eax], edi
jmp 0x10017a2d
call fcn.10008900
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1006e870]
mov eax, 0
and ecx, 0xf
setne al
cmp dword [0x1005e760], 0x3b
mov dword [esp + 0x34], eax
je 0x1001860b
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
jne 0x100185c8
nop word [eax + eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
cmp dword [0x1005e760], 0x2c
je 0x100185b0
cmp dword [esp + 0x34], 0
je 0x100185e5
mov ecx, 0x1006e870
call fcn.10010580
mov ecx, 0x1006e870
call fcn.1000fb50
jmp 0x10018624
mov eax, dword [0x1006e7a4]
cmp dword [eax], 0
je 0x10018601
push str.void_function_returns_a_value
call fcn.1002c530
mov eax, dword [0x1006e7a4]
add esp, 4
sub eax, 0x28
mov dword [0x1006e7a4], eax
jmp 0x10018624
test ecx, ecx
je 0x10018624
push str.return_with_no_value
call fcn.1002c530
add esp, 4
mov dword [esp + 0x34], 0
mov esi, dword [0x1006e7a8]
test esi, esi
je 0x10018673
mov ecx, dword [esi + 0xc]
call fcn.10017220
mov eax, dword [0x1005e604]
mov ecx, dword [esi + 8]
cmp ecx, dword [eax + 8]
jge 0x10018673
mov esi, dword [esi + 4]
test esi, esi
je 0x10018673
mov ecx, 0x48
call fcn.1001f340
mov ecx, 0x8b
call fcn.1001f340
mov edx, 0x32
push 0
push esi
push 0
lea ecx, [edx - 0x2e]
call fcn.1001f880
add esp, 0xc
cmp dword [esp + 0x34], 0
je 0x10018684
mov ecx, 0x1006e870
call fcn.10016ac0
mov ecx, dword [0x1005e760]
cmp ecx, 0x3b
jne 0x10018b99
call fcn.10008900
cmp dword [0x1005e760], 0x7d
jne 0x100186ca
cmp dword [0x100715f4], 1
jne 0x100186ca
mov eax, dword [0x10071698]
or eax, 0x20000000
mov dword [0x10071698], eax
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10071698]
mov edi, dword [0x1005e724]
test eax, eax
jne 0x100186f7
mov ecx, 0xe9
call fcn.1001f340
mov esi, dword [0x1006e81c]
mov ecx, edi
call fcn.1001f440
mov eax, dword [0x10071698]
mov edi, esi
or eax, 0x20000000
mov dword [0x1005e724], edi
or eax, 0x20000000
mov dword [0x10071698], eax
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1005e604]
lea eax, [esp + 0x40]
inc dword [0x100715f4]
mov dword [0x1005e604], eax
mov eax, dword [0x1005e728]
movups xmm0, xmmword [ecx]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x10]
mov dword [esp + 0x40], ecx
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x5c], eax
mov eax, dword [0x1006e878]
mov dword [esp + 0x60], eax
mov eax, dword [0x1006e7ec]
cmp byte [eax + 0x2f], 0
je 0x1001877a
mov edx, dword [0x1006e81c]
mov ecx, 0xc0
sub edx, dword [0x1006e7f4]
call fcn.1000a390
mov eax, dword [0x1005e760]
cmp eax, 0x139
jne 0x10018835
mov edi, 2
nop
call fcn.10008900
mov esi, dword [0x1005e760]
cmp esi, 0x13d
jl 0x10018c4b
call fcn.1000b400
mov edx, eax
xorps xmm0, xmm0
mov eax, dword [0x1005e75c]
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm0
movq qword [edx + 0x20], xmm0
mov dword [edx], esi
mov ecx, dword [0x1006e878]
mov dword [edx + 0x1c], ecx
mov dword [0x1006e878], edx
mov word [edx + 4], di
mov ecx, dword [eax + esi*4 - 0x400]
mov eax, 0x1006e878
add ecx, 8
cmp eax, 0x1006e814
jne 0x100187fc
mov eax, dword [ecx]
test eax, eax
je 0x100187fc
lea ecx, [eax + 0x20]
mov eax, dword [ecx]
test eax, eax
jne 0x100187f3
mov eax, dword [ecx]
mov dword [edx + 0x20], eax
mov dword [ecx], edx
call fcn.10008900
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x10018790
cmp ecx, 0x3b
jne 0x10018b99
call fcn.10008900
mov eax, dword [0x1005e760]
cmp eax, 0x139
je 0x10018790
mov edi, dword [esp + 0x1c]
cmp eax, 0x7d
je 0x10018871
nop
xor edx, edx
push 0
lea ecx, [edx + 0x32]
call fcn.1001b130
add esp, 4
cmp dword [0x1005e760], 0x7d
je 0x10018871
test edi, edi
je 0x10018861
call fcn.1000b750
mov ecx, edi
call fcn.10017520
cmp dword [0x1005e760], 0x7d
jne 0x10018840
mov edx, edi
lea ecx, [esp + 0x40]
call fcn.10017310
cmp dword [0x100715f4], 0
jne 0x10018564
cmp dword [0x10071698], 0
jne 0x1001814b
mov esi, dword [0x1006e870]
and esi, 0xf
je 0x1001814b
mov edi, dword [0x1006e82c]
mov ecx, str.main
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100188d2
test dl, dl
je 0x100188ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100188d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x100188b2
xor eax, eax
jmp 0x100188d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10018934
cmp esi, 3
jne 0x10018934
mov dword [esp + 0x18], eax
lea edx, [esi + 0x2d]
lea eax, [esp + 0x20]
mov dword [esp + 0x14], esi
xorps xmm0, xmm0
lea ecx, [esp + 0x14]
push eax
movlpd qword [esp + 0x24], xmm0
call fcn.1000b6d0
add esp, 4
mov ecx, 0x1006e870
call fcn.10010580
mov ecx, 0x1006e870
call fcn.1000fb50
mov ecx, 0x1006e870
call fcn.10016ac0
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
push edi
push str.function_might_return_no_value:__s
call fcn.1002c530
mov ecx, dword [esp + 0x84]
add esp, 8
pop edi
pop esi
xor ecx, esp
call fcn.1002fab8
mov esp, ebp
pop ebp
ret
and dword [0x10071698], 0xdfffffff
mov ecx, dword [0x1005e760]
mov eax, dword [0x1006e81c]
mov dword [esp + 0x3c], eax
cmp ecx, 0x28
je 0x10018986
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x28
jmp 0x10018ba6
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x100189ba
nop dword [eax + eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x100189a0
cmp ecx, 0x29
je 0x100189d1
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
jmp 0x10018ba6
call fcn.10008900
xor edx, edx
lea ecx, [edx + 1]
call fcn.1000b9e0
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x34]
mov eax, dword [0x1006e884]
mov dword [esp + 0x10], eax
mov eax, dword [0x1005e604]
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], eax
mov dword [0x1006e884], eax
mov esi, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
mov dword [eax + 0x18], ecx
lea ecx, [esp + 0x38]
mov dword [eax + 0x14], ecx
xor ecx, ecx
call fcn.10017520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], esi
mov eax, dword [esp + 0x10]
mov dword [0x1006e884], eax
call fcn.10009e40
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
jmp 0x10018129
mov ecx, dword [0x1005e760]
cmp ecx, 0x28
je 0x10018a64
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x28
jmp 0x10018ba6
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
jne 0x10018a9a
nop dword [eax]
call fcn.1000b750
call fcn.10008900
call fcn.100168f0
mov ecx, dword [0x1005e760]
cmp ecx, 0x2c
je 0x10018a80
cmp ecx, 0x29
je 0x10018ab1
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
jmp 0x10018ba6
call fcn.10008900
xor edx, edx
lea ecx, [edx + 1]
call fcn.1000b9e0
xor ecx, ecx
mov dword [esp + 0x38], eax
call fcn.10017520
cmp dword [0x1005e760], 0x104
jne 0x1001812e
mov esi, dword [0x10071698]
test esi, esi
je 0x10018ae9
xor edi, edi
jmp 0x10018b06
mov ecx, 0xe9
call fcn.1001f340
mov edi, dword [0x1006e81c]
xor ecx, ecx
call fcn.1001f440
mov esi, dword [0x10071698]
mov ecx, dword [esp + 0x38]
or esi, 0x20000000
mov dword [0x10071698], esi
test ecx, ecx
je 0x10018b31
mov edx, dword [0x1006e81c]
call fcn.1001f7c0
and esi, 0xdfffffff
mov dword [0x10071698], esi
call fcn.10008900
xor ecx, ecx
call fcn.10017520
test edi, edi
je 0x1001814b
mov ecx, edi
jmp 0x10018136
push str.memory_full__realloc_
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x3a
push str._c_expected__got___s__
call fcn.1002c510
push str.too_many_default
call fcn.1002c510
mov ecx, 0x10056e44
call fcn.10001280
mov ecx, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [ecx]
call fcn.100019a0
push eax
push str.duplicate_label__s
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x3b
push str._c_expected__got___s__
call fcn.1002c510
mov ecx, str.pointer
call fcn.10001280
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x3b
push str._c_expected__got___s__
call fcn.1002c510
push str.memory_full__malloc_
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x28
push str._c_expected__got___s__
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x29
push str._c_expected__got___s__
call fcn.1002c510
push str.duplicate_case_value
call fcn.1002c510
push str.memory_full__vstack_
call fcn.1002c510
mov edx, 0x1006e7b0
call fcn.100019a0
push eax
push 0x105
push str._c_expected__got___s__
call fcn.1002c510
push str.cannot_continue
call fcn.1002c510
push str.cannot_break
call fcn.1002c510
mov ecx, str.label_identifier
call fcn.10001280
int3