4017dd:	33 f6                	xor    %esi,%esi
4017df:	8b c6                	mov    %esi,%eax
4017e1:	8b 54 0d 94          	mov    -0x6c(%ebp,%ecx,1),%edx
4017e5:	3b 90 34 11 40 00    	cmp    0x401134(%eax),%edx
4017eb:	0f 84 a2 00 00 00    	je     0x401893
4017f1:	83 c0 04             	add    $0x4,%eax
4017f4:	83 f8 04             	cmp    $0x4,%eax
4017f7:	72 ec                	jb     0x4017e5
4017f9:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
4017ff:	8b c2                	mov    %edx,%eax
401801:	89 8d 74 ff ff ff    	mov    %ecx,-0x8c(%ebp)
401807:	bf 80 04 11 80       	mov    $0x80110480,%edi
40180c:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
401812:	83 f8 0e             	cmp    $0xe,%eax
401815:	75 43                	jne    0x40185a
401817:	83 7d 08 54          	cmpl   $0x54,0x8(%ebp)
40181b:	75 05                	jne    0x401822
40181d:	33 ff                	xor    %edi,%edi
40181f:	47                   	inc    %edi
401820:	eb 7d                	jmp    0x40189f
401822:	83 7d 08 52          	cmpl   $0x52,0x8(%ebp)
401826:	75 1a                	jne    0x401842
401828:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40182e:	50                   	push   %eax
40182f:	53                   	push   %ebx
401830:	ff 75 80             	push   -0x80(%ebp)
401833:	56                   	push   %esi
401834:	6a 05                	push   $0x5
401836:	6a 03                	push   $0x3
401838:	ff 15 10 40 40 00    	call   *0x404010
40183e:	8b f8                	mov    %eax,%edi
401840:	eb 5d                	jmp    0x40189f
401842:	83 7d 08 53          	cmpl   $0x53,0x8(%ebp)
401846:	75 57                	jne    0x40189f
401848:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40184e:	50                   	push   %eax
40184f:	53                   	push   %ebx
401850:	ff 75 80             	push   -0x80(%ebp)
401853:	56                   	push   %esi
401854:	6a 05                	push   $0x5
401856:	6a 04                	push   $0x4
401858:	eb de                	jmp    0x401838
40185a:	83 f8 06             	cmp    $0x6,%eax
40185d:	75 17                	jne    0x401876
40185f:	83 7d 08 2b          	cmpl   $0x2b,0x8(%ebp)
401863:	75 3a                	jne    0x40189f
401865:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40186b:	50                   	push   %eax
40186c:	53                   	push   %ebx
40186d:	ff 75 80             	push   -0x80(%ebp)
401870:	56                   	push   %esi
401871:	6a 05                	push   $0x5
401873:	56                   	push   %esi
401874:	eb c2                	jmp    0x401838
401876:	83 f8 0c             	cmp    $0xc,%eax
401879:	75 24                	jne    0x40189f
40187b:	83 7d 08 4e          	cmpl   $0x4e,0x8(%ebp)
40187f:	75 1e                	jne    0x40189f
401881:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
401887:	50                   	push   %eax
401888:	53                   	push   %ebx
401889:	ff 75 80             	push   -0x80(%ebp)
40188c:	56                   	push   %esi
40188d:	6a 05                	push   $0x5
40188f:	6a 02                	push   $0x2
401891:	eb a5                	jmp    0x401838
401893:	bf 80 04 11 80       	mov    $0x80110480,%edi
401898:	eb 05                	jmp    0x40189f
40189a:	bf 81 04 11 80       	mov    $0x80110481,%edi
40189f:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4018a2:	85 c9                	test   %ecx,%ecx
4018a4:	74 10                	je     0x4018b6
4018a6:	8b 01                	mov    (%ecx),%eax
4018a8:	51                   	push   %ecx
4018a9:	8b 70 08             	mov    0x8(%eax),%esi
4018ac:	8b ce                	mov    %esi,%ecx
4018ae:	ff 15 b4 40 40 00    	call   *0x4040b4
4018b4:	ff d6                	call   *%esi
4018b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4018b9:	8b c7                	mov    %edi,%eax
4018bb:	5f                   	pop    %edi
4018bc:	5e                   	pop    %esi
4018bd:	33 cd                	xor    %ebp,%ecx
4018bf:	5b                   	pop    %ebx
4018c0:	e8 6b 05 00 00       	call   0x401e30
4018c5:	c9                   	leave
4018c6:	c2 08 00             	ret    $0x8
4018c9:	8b ff                	mov    %edi,%edi
4018cb:	56                   	push   %esi
4018cc:	57                   	push   %edi
4018cd:	8b f9                	mov    %ecx,%edi
4018cf:	be 04 01 00 00       	mov    $0x104,%esi
4018d4:	8b ce                	mov    %esi,%ecx
4018d6:	8b c7                	mov    %edi,%eax
4018d8:	66 83 38 00          	cmpw   $0x0,(%eax)
4018dc:	74 08                	je     0x4018e6
4018de:	83 c0 02             	add    $0x2,%eax
4018e1:	83 e9 01             	sub    $0x1,%ecx
4018e4:	75 f2                	jne    0x4018d8
4018e6:	8b c1                	mov    %ecx,%eax
4018e8:	f7 d8                	neg    %eax
4018ea:	1b c0                	sbb    %eax,%eax
4018ec:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
4018f1:	05 57 00 07 80       	add    $0x80070057,%eax
4018f6:	85 c9                	test   %ecx,%ecx
4018f8:	74 24                	je     0x40191e
4018fa:	8b d1                	mov    %ecx,%edx
4018fc:	8d 81 fc fe ff ff    	lea    -0x104(%ecx),%eax
401902:	83 ec 0c             	sub    $0xc,%esp
401905:	f7 da                	neg    %edx
401907:	1b d2                	sbb    %edx,%edx
401909:	23 d0                	and    %eax,%edx
40190b:	03 d6                	add    %esi,%edx
40190d:	2b f1                	sub    %ecx,%esi
40190f:	03 f6                	add    %esi,%esi
401911:	f7 d9                	neg    %ecx
401913:	1b c9                	sbb    %ecx,%ecx
401915:	23 ce                	and    %esi,%ecx
401917:	03 cf                	add    %edi,%ecx
401919:	e8 05 00 00 00       	call   0x401923
40191e:	5f                   	pop    %edi
40191f:	5e                   	pop    %esi
401920:	c2 04 00             	ret    $0x4
401923:	85 d2                	test   %edx,%edx
401925:	74 2d                	je     0x401954
401927:	56                   	push   %esi
401928:	b8 40 11 40 00       	mov    $0x401140,%eax
40192d:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
401932:	57                   	push   %edi
401933:	2b c1                	sub    %ecx,%eax
401935:	85 f6                	test   %esi,%esi
401937:	74 15                	je     0x40194e
401939:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
40193d:	66 85 ff             	test   %di,%di
401940:	74 0c                	je     0x40194e
401942:	66 89 39             	mov    %di,(%ecx)
401945:	83 c1 02             	add    $0x2,%ecx
401948:	4e                   	dec    %esi
401949:	83 ea 01             	sub    $0x1,%edx
40194c:	75 e7                	jne    0x401935
40194e:	5f                   	pop    %edi
40194f:	5e                   	pop    %esi
401950:	85 d2                	test   %edx,%edx
401952:	75 03                	jne    0x401957
401954:	83 e9 02             	sub    $0x2,%ecx
401957:	f7 da                	neg    %edx
401959:	1b d2                	sbb    %edx,%edx
40195b:	33 c0                	xor    %eax,%eax
40195d:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
401963:	66 89 01             	mov    %ax,(%ecx)
401966:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
40196c:	c2 0c 00             	ret    $0xc
40196f:	8b ff                	mov    %edi,%edi
401971:	55                   	push   %ebp
401972:	8b ec                	mov    %esp,%ebp
401974:	83 e4 f8             	and    $0xfffffff8,%esp
401977:	81 ec 7c 04 00 00    	sub    $0x47c,%esp
40197d:	a1 04 30 40 00       	mov    0x403004,%eax
401982:	33 c4                	xor    %esp,%eax
401984:	89 84 24 78 04 00 00 	mov    %eax,0x478(%esp)
40198b:	33 c0                	xor    %eax,%eax
40198d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
401991:	53                   	push   %ebx
401992:	56                   	push   %esi
401993:	8d 8c 24 74 02 00 00 	lea    0x274(%esp),%ecx
40199a:	89 44 24 0c          	mov    %eax,0xc(%esp)
40199e:	89 44 24 10          	mov    %eax,0x10(%esp)
4019a2:	8b d8                	mov    %eax,%ebx
4019a4:	be 60 33 40 00       	mov    $0x403360,%esi
4019a9:	8b c1                	mov    %ecx,%eax
4019ab:	57                   	push   %edi
4019ac:	ba 04 01 00 00       	mov    $0x104,%edx
4019b1:	2b f0                	sub    %eax,%esi
4019b3:	8d 82 fa fe ff 7f    	lea    0x7ffffefa(%edx),%eax
4019b9:	85 c0                	test   %eax,%eax
4019bb:	74 14                	je     0x4019d1
4019bd:	0f b7 04 0e          	movzwl (%esi,%ecx,1),%eax
4019c1:	66 85 c0             	test   %ax,%ax
4019c4:	74 0b                	je     0x4019d1
4019c6:	66 89 01             	mov    %ax,(%ecx)
4019c9:	83 c1 02             	add    $0x2,%ecx
4019cc:	83 ea 01             	sub    $0x1,%edx
4019cf:	75 e2                	jne    0x4019b3
4019d1:	85 d2                	test   %edx,%edx
4019d3:	75 03                	jne    0x4019d8
4019d5:	83 e9 02             	sub    $0x2,%ecx
4019d8:	33 c0                	xor    %eax,%eax
4019da:	66 89 01             	mov    %ax,(%ecx)
4019dd:	8b c2                	mov    %edx,%eax
4019df:	f7 d8                	neg    %eax
4019e1:	1b c0                	sbb    %eax,%eax
4019e3:	25 86 ff f8 7f       	and    $0x7ff8ff86,%eax
4019e8:	05 7a 00 07 80       	add    $0x8007007a,%eax
4019ed:	85 d2                	test   %edx,%edx
4019ef:	0f 84 17 01 00 00    	je     0x401b0c
4019f5:	51                   	push   %ecx
4019f6:	8d 8c 24 7c 02 00 00 	lea    0x27c(%esp),%ecx
4019fd:	e8 c7 fe ff ff       	call   0x4018c9
401a02:	8b f0                	mov    %eax,%esi
401a04:	89 74 24 24          	mov    %esi,0x24(%esp)
401a08:	85 f6                	test   %esi,%esi
401a0a:	0f 88 fa 00 00 00    	js     0x401b0a
401a10:	8d 44 24 28          	lea    0x28(%esp),%eax
401a14:	50                   	push   %eax
401a15:	8d 84 24 7c 02 00 00 	lea    0x27c(%esp),%eax
401a1c:	50                   	push   %eax
401a1d:	ff 15 28 40 40 00    	call   *0x404028
401a23:	8b f8                	mov    %eax,%edi
401a25:	83 ff ff             	cmp    $0xffffffff,%edi
401a28:	75 29                	jne    0x401a53
401a2a:	ff 15 20 40 40 00    	call   *0x404020
401a30:	8b f0                	mov    %eax,%esi
401a32:	85 f6                	test   %esi,%esi
401a34:	7e 09                	jle    0x401a3f
401a36:	0f b7 f6             	movzwl %si,%esi
401a39:	81 ce 00 00 07 80    	or     $0x80070000,%esi
401a3f:	81 fe 02 00 07 80    	cmp    $0x80070002,%esi
401a45:	0f 85 bf 00 00 00    	jne    0x401b0a
401a4b:	33 f6                	xor    %esi,%esi
401a4d:	46                   	inc    %esi
401a4e:	e9 b7 00 00 00       	jmp    0x401b0a
401a53:	8b f3                	mov    %ebx,%esi
401a55:	8d 44 24 10          	lea    0x10(%esp),%eax
401a59:	50                   	push   %eax
401a5a:	8d 44 24 58          	lea    0x58(%esp),%eax
401a5e:	68 68 11 40 00       	push   $0x401168
401a63:	50                   	push   %eax
401a64:	ff 15 ac 40 40 00    	call   *0x4040ac
401a6a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
401a6e:	83 c4 0c             	add    $0xc,%esp
401a71:	8b 4c 24 14          	mov    0x14(%esp),%ecx
401a75:	2b c3                	sub    %ebx,%eax
401a77:	1b ce                	sbb    %esi,%ecx
401a79:	78 15                	js     0x401a90
401a7b:	7f 04                	jg     0x401a81
401a7d:	85 c0                	test   %eax,%eax
401a7f:	74 0f                	je     0x401a90
401a81:	81 f9 ff 7f 00 00    	cmp    $0x7fff,%ecx
401a87:	7c 1c                	jl     0x401aa5
401a89:	7f 05                	jg     0x401a90
401a8b:	83 f8 ff             	cmp    $0xffffffff,%eax
401a8e:	72 15                	jb     0x401aa5
401a90:	81 f9 00 80 ff ff    	cmp    $0xffff8000,%ecx
401a96:	7c 0d                	jl     0x401aa5
401a98:	7f 05                	jg     0x401a9f
401a9a:	83 f8 01             	cmp    $0x1,%eax
401a9d:	72 06                	jb     0x401aa5
401a9f:	8b c3                	mov    %ebx,%eax
401aa1:	0b c6                	or     %esi,%eax
401aa3:	75 08                	jne    0x401aad
401aa5:	8b 5c 24 10          	mov    0x10(%esp),%ebx
401aa9:	8b 74 24 14          	mov    0x14(%esp),%esi
401aad:	8d 44 24 28          	lea    0x28(%esp),%eax
401ab1:	50                   	push   %eax
401ab2:	57                   	push   %edi
401ab3:	ff 15 58 40 40 00    	call   *0x404058
401ab9:	85 c0                	test   %eax,%eax
401abb:	75 98                	jne    0x401a55
401abd:	8b 44 24 20          	mov    0x20(%esp),%eax
401ac1:	89 18                	mov    %ebx,(%eax)
401ac3:	89 70 04             	mov    %esi,0x4(%eax)
401ac6:	8d 44 24 18          	lea    0x18(%esp),%eax
401aca:	50                   	push   %eax
401acb:	68 06 00 02 00       	push   $0x20006
401ad0:	6a 00                	push   $0x0
401ad2:	68 84 11 40 00       	push   $0x401184
401ad7:	68 02 00 00 80       	push   $0x80000002
401adc:	ff 15 00 40 40 00    	call   *0x404000
401ae2:	8b 74 24 24          	mov    0x24(%esp),%esi
401ae6:	85 c0                	test   %eax,%eax
401ae8:	75 19                	jne    0x401b03
401aea:	68 b4 11 40 00       	push   $0x4011b4
401aef:	ff 74 24 1c          	push   0x1c(%esp)
401af3:	ff 15 08 40 40 00    	call   *0x404008
401af9:	ff 74 24 18          	push   0x18(%esp)
401afd:	ff 15 04 40 40 00    	call   *0x404004
401b03:	57                   	push   %edi
401b04:	ff 15 1c 40 40 00    	call   *0x40401c
401b0a:	8b c6                	mov    %esi,%eax
401b0c:	8b 8c 24 84 04 00 00 	mov    0x484(%esp),%ecx
401b13:	5f                   	pop    %edi
401b14:	5e                   	pop    %esi
401b15:	5b                   	pop    %ebx
401b16:	33 cc                	xor    %esp,%ecx
401b18:	e8 13 03 00 00       	call   0x401e30
401b1d:	8b e5                	mov    %ebp,%esp
401b1f:	5d                   	pop    %ebp
401b20:	c3                   	ret
401b21:	66 83 3d 70 35 40 00 	cmpw   $0x0,0x403570
401b28:	00
401b29:	53                   	push   %ebx
401b2a:	56                   	push   %esi
401b2b:	57                   	push   %edi
401b2c:	8b f1                	mov    %ecx,%esi
401b2e:	bf 70 35 40 00       	mov    $0x403570,%edi
401b33:	75 1e                	jne    0x401b53
401b35:	bb 04 01 00 00       	mov    $0x104,%ebx
401b3a:	53                   	push   %ebx
401b3b:	57                   	push   %edi
401b3c:	68 d0 11 40 00       	push   $0x4011d0
401b41:	ff 15 24 40 40 00    	call   *0x404024
401b47:	85 c0                	test   %eax,%eax
401b49:	74 04                	je     0x401b4f
401b4b:	3b c3                	cmp    %ebx,%eax
401b4d:	72 04                	jb     0x401b53
401b4f:	33 c0                	xor    %eax,%eax
401b51:	eb 05                	jmp    0x401b58
401b53:	33 c0                	xor    %eax,%eax
401b55:	89 3e                	mov    %edi,(%esi)
401b57:	40                   	inc    %eax
401b58:	5f                   	pop    %edi
401b59:	5e                   	pop    %esi
401b5a:	5b                   	pop    %ebx
401b5b:	c3                   	ret
401b5c:	cc                   	int3
401b5d:	cc                   	int3
401b5e:	cc                   	int3
401b5f:	cc                   	int3
401b60:	e8 48 02 00 00       	call   0x401dad
401b65:	6a 01                	push   $0x1
401b67:	a3 28 30 40 00       	mov    %eax,0x403028
401b6c:	e8 a7 03 00 00       	call   0x401f18
401b71:	50                   	push   %eax
401b72:	ff 15 98 40 40 00    	call   *0x404098
401b78:	83 0d 7c 37 40 00 ff 	orl    $0xffffffff,0x40377c
401b7f:	83 0d 80 37 40 00 ff 	orl    $0xffffffff,0x403780
401b86:	59                   	pop    %ecx
401b87:	59                   	pop    %ecx
401b88:	ff 15 88 40 40 00    	call   *0x404088
401b8e:	8b 0d 3c 30 40 00    	mov    0x40303c,%ecx
401b94:	89 08                	mov    %ecx,(%eax)
401b96:	ff 15 a4 40 40 00    	call   *0x4040a4
401b9c:	8b 0d 30 30 40 00    	mov    0x403030,%ecx
401ba2:	89 08                	mov    %ecx,(%eax)
401ba4:	e8 b7 03 00 00       	call   0x401f60
401ba9:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
401bb0:	75 0c                	jne    0x401bbe
401bb2:	68 60 1f 40 00       	push   $0x401f60
401bb7:	ff 15 84 40 40 00    	call   *0x404084
401bbd:	59                   	pop    %ecx
401bbe:	e8 9a 05 00 00       	call   0x40215d
401bc3:	33 c0                	xor    %eax,%eax
401bc5:	c3                   	ret
401bc6:	cc                   	int3
401bc7:	cc                   	int3
401bc8:	cc                   	int3
401bc9:	cc                   	int3
401bca:	cc                   	int3
401bcb:	cc                   	int3
401bcc:	cc                   	int3