4016b8:	8b 3d b0 d1 40 00    	mov    0x40d1b0,%edi
4016be:	83 c4 08             	add    $0x8,%esp
4016c1:	6a 64                	push   $0x64
4016c3:	68 ec 12 41 00       	push   $0x4112ec
4016c8:	6a 67                	push   $0x67
4016ca:	56                   	push   %esi
4016cb:	ff d7                	call   *%edi
4016cd:	6a 64                	push   $0x64
4016cf:	68 88 12 41 00       	push   $0x411288
4016d4:	6a 6d                	push   $0x6d
4016d6:	56                   	push   %esi
4016d7:	ff d7                	call   *%edi
4016d9:	68 8a 00 00 00       	push   $0x8a
4016de:	56                   	push   %esi
4016df:	ff 15 b4 d1 40 00    	call   *0x40d1b4
4016e5:	85 c0                	test   %eax,%eax
4016e7:	a3 80 12 41 00       	mov    %eax,0x411280
4016ec:	75 08                	jne    0x4016f6
4016ee:	5f                   	pop    %edi
4016ef:	5e                   	pop    %esi
4016f0:	83 c4 38             	add    $0x38,%esp
4016f3:	c2 10 00             	ret    $0x10
4016f6:	56                   	push   %esi
4016f7:	e8 94 00 00 00       	call   0x401790
4016fc:	8b 4c 24 54          	mov    0x54(%esp),%ecx
401700:	51                   	push   %ecx
401701:	56                   	push   %esi
401702:	e8 19 01 00 00       	call   0x401820
401707:	83 c4 0c             	add    $0xc,%esp
40170a:	85 c0                	test   %eax,%eax
40170c:	75 08                	jne    0x401716
40170e:	5f                   	pop    %edi
40170f:	5e                   	pop    %esi
401710:	83 c4 38             	add    $0x38,%esp
401713:	c2 10 00             	ret    $0x10
401716:	6a 6d                	push   $0x6d
401718:	56                   	push   %esi
401719:	ff 15 b8 d1 40 00    	call   *0x40d1b8
40171f:	8b 3d bc d1 40 00    	mov    0x40d1bc,%edi
401725:	6a 00                	push   $0x0
401727:	6a 00                	push   $0x0
401729:	8d 54 24 2c          	lea    0x2c(%esp),%edx
40172d:	6a 00                	push   $0x0
40172f:	52                   	push   %edx
401730:	8b f0                	mov    %eax,%esi
401732:	ff d7                	call   *%edi
401734:	85 c0                	test   %eax,%eax
401736:	74 44                	je     0x40177c
401738:	53                   	push   %ebx
401739:	8b 1d c0 d1 40 00    	mov    0x40d1c0,%ebx
40173f:	55                   	push   %ebp
401740:	8b 2d c4 d1 40 00    	mov    0x40d1c4,%ebp
401746:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40174a:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40174e:	50                   	push   %eax
40174f:	56                   	push   %esi
401750:	51                   	push   %ecx
401751:	ff d3                	call   *%ebx
401753:	85 c0                	test   %eax,%eax
401755:	75 12                	jne    0x401769
401757:	8d 54 24 2c          	lea    0x2c(%esp),%edx
40175b:	52                   	push   %edx
40175c:	ff d5                	call   *%ebp
40175e:	8d 44 24 2c          	lea    0x2c(%esp),%eax
401762:	50                   	push   %eax
401763:	ff 15 c8 d1 40 00    	call   *0x40d1c8
401769:	6a 00                	push   $0x0
40176b:	6a 00                	push   $0x0
40176d:	8d 4c 24 34          	lea    0x34(%esp),%ecx
401771:	6a 00                	push   $0x0
401773:	51                   	push   %ecx
401774:	ff d7                	call   *%edi
401776:	85 c0                	test   %eax,%eax
401778:	75 cc                	jne    0x401746
40177a:	5d                   	pop    %ebp
40177b:	5b                   	pop    %ebx
40177c:	8b 44 24 2c          	mov    0x2c(%esp),%eax
401780:	5f                   	pop    %edi
401781:	5e                   	pop    %esi
401782:	83 c4 38             	add    $0x38,%esp
401785:	c2 10 00             	ret    $0x10
401788:	90                   	nop
401789:	90                   	nop
40178a:	90                   	nop
40178b:	90                   	nop
40178c:	90                   	nop
40178d:	90                   	nop
40178e:	90                   	nop
40178f:	90                   	nop
401790:	83 ec 30             	sub    $0x30,%esp
401793:	8b 44 24 34          	mov    0x34(%esp),%eax
401797:	56                   	push   %esi
401798:	8b 35 a4 d1 40 00    	mov    0x40d1a4,%esi
40179e:	6a 6b                	push   $0x6b
4017a0:	50                   	push   %eax
4017a1:	c7 44 24 0c 30 00 00 	movl   $0x30,0xc(%esp)
4017a8:	00
4017a9:	c7 44 24 10 03 00 00 	movl   $0x3,0x10(%esp)
4017b0:	00
4017b1:	c7 44 24 14 d0 18 40 	movl   $0x4018d0,0x14(%esp)
4017b8:	00
4017b9:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4017c0:	00
4017c1:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
4017c8:	00
4017c9:	89 44 24 20          	mov    %eax,0x20(%esp)
4017cd:	ff d6                	call   *%esi
4017cf:	68 00 7f 00 00       	push   $0x7f00
4017d4:	6a 00                	push   $0x0
4017d6:	89 44 24 24          	mov    %eax,0x24(%esp)
4017da:	ff 15 a8 d1 40 00    	call   *0x40d1a8
4017e0:	89 44 24 20          	mov    %eax,0x20(%esp)
4017e4:	8b 44 24 18          	mov    0x18(%esp),%eax
4017e8:	6a 6c                	push   $0x6c
4017ea:	50                   	push   %eax
4017eb:	c7 44 24 2c 06 00 00 	movl   $0x6,0x2c(%esp)
4017f2:	00
4017f3:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
4017fa:	00
4017fb:	c7 44 24 34 88 12 41 	movl   $0x411288,0x34(%esp)
401802:	00
401803:	ff d6                	call   *%esi
401805:	8d 4c 24 04          	lea    0x4(%esp),%ecx
401809:	89 44 24 30          	mov    %eax,0x30(%esp)
40180d:	51                   	push   %ecx
40180e:	ff 15 ac d1 40 00    	call   *0x40d1ac
401814:	5e                   	pop    %esi
401815:	83 c4 30             	add    $0x30,%esp
401818:	c3                   	ret
401819:	90                   	nop
40181a:	90                   	nop
40181b:	90                   	nop
40181c:	90                   	nop
40181d:	90                   	nop
40181e:	90                   	nop
40181f:	90                   	nop
401820:	56                   	push   %esi
401821:	8b 74 24 08          	mov    0x8(%esp),%esi
401825:	57                   	push   %edi
401826:	8b 3d 90 d1 40 00    	mov    0x40d190,%edi
40182c:	6a 00                	push   $0x0
40182e:	89 35 50 13 41 00    	mov    %esi,0x411350
401834:	ff d7                	call   *%edi
401836:	6a 01                	push   $0x1
401838:	a3 74 12 41 00       	mov    %eax,0x411274
40183d:	ff d7                	call   *%edi
40183f:	8b 0d 74 12 41 00    	mov    0x411274,%ecx
401845:	a3 70 12 41 00       	mov    %eax,0x411270
40184a:	05 4c ff ff ff       	add    $0xffffff4c,%eax
40184f:	6a 00                	push   $0x0
401851:	56                   	push   %esi
401852:	6a 00                	push   $0x0
401854:	d1 f8                	sar    $1,%eax
401856:	81 c1 d4 fe ff ff    	add    $0xfffffed4,%ecx
40185c:	6a 00                	push   $0x0
40185e:	83 e8 1e             	sub    $0x1e,%eax
401861:	68 b4 00 00 00       	push   $0xb4
401866:	d1 f9                	sar    $1,%ecx
401868:	68 2c 01 00 00       	push   $0x12c
40186d:	50                   	push   %eax
40186e:	51                   	push   %ecx
40186f:	68 00 00 00 90       	push   $0x90000000
401874:	68 ec 12 41 00       	push   $0x4112ec
401879:	68 88 12 41 00       	push   $0x411288
40187e:	68 00 00 04 00       	push   $0x40000
401883:	89 0d 68 12 41 00    	mov    %ecx,0x411268
401889:	a3 64 12 41 00       	mov    %eax,0x411264
40188e:	ff 15 94 d1 40 00    	call   *0x40d194
401894:	8b f0                	mov    %eax,%esi
401896:	85 f6                	test   %esi,%esi
401898:	75 03                	jne    0x40189d
40189a:	5f                   	pop    %edi
40189b:	5e                   	pop    %esi
40189c:	c3                   	ret
40189d:	8b 54 24 10          	mov    0x10(%esp),%edx
4018a1:	52                   	push   %edx
4018a2:	56                   	push   %esi
4018a3:	ff 15 98 d1 40 00    	call   *0x40d198
4018a9:	56                   	push   %esi
4018aa:	ff 15 9c d1 40 00    	call   *0x40d19c
4018b0:	6a 03                	push   $0x3
4018b2:	6a 00                	push   $0x0
4018b4:	6a 00                	push   $0x0
4018b6:	6a 00                	push   $0x0
4018b8:	6a 00                	push   $0x0
4018ba:	6a ff                	push   $0xffffffff
4018bc:	56                   	push   %esi
4018bd:	ff 15 a0 d1 40 00    	call   *0x40d1a0
4018c3:	5f                   	pop    %edi
4018c4:	b8 01 00 00 00       	mov    $0x1,%eax
4018c9:	5e                   	pop    %esi
4018ca:	c3                   	ret
4018cb:	90                   	nop
4018cc:	90                   	nop
4018cd:	90                   	nop
4018ce:	90                   	nop
4018cf:	90                   	nop
4018d0:	8b 44 24 08          	mov    0x8(%esp),%eax
4018d4:	83 ec 50             	sub    $0x50,%esp
4018d7:	83 f8 0f             	cmp    $0xf,%eax
4018da:	53                   	push   %ebx
4018db:	55                   	push   %ebp
4018dc:	56                   	push   %esi
4018dd:	57                   	push   %edi
4018de:	0f 87 54 02 00 00    	ja     0x401b38
4018e4:	0f 84 1d 02 00 00    	je     0x401b07
4018ea:	8d 48 ff             	lea    -0x1(%eax),%ecx
4018ed:	83 f9 07             	cmp    $0x7,%ecx
4018f0:	0f 87 38 09 00 00    	ja     0x40222e
4018f6:	ff 24 8d 8c 23 40 00 	jmp    *0x40238c(,%ecx,4)
4018fd:	8b 74 24 64          	mov    0x64(%esp),%esi
401901:	56                   	push   %esi
401902:	ff 15 60 d1 40 00    	call   *0x40d160
401908:	50                   	push   %eax
401909:	a3 6c 12 41 00       	mov    %eax,0x41126c
40190e:	ff 15 1c d0 40 00    	call   *0x40d01c
401914:	8b 0d 74 12 41 00    	mov    0x411274,%ecx
40191a:	8b 15 6c 12 41 00    	mov    0x41126c,%edx
401920:	a3 78 12 41 00       	mov    %eax,0x411278
401925:	a1 70 12 41 00       	mov    0x411270,%eax
40192a:	50                   	push   %eax
40192b:	51                   	push   %ecx
40192c:	52                   	push   %edx
40192d:	ff 15 2c d0 40 00    	call   *0x40d02c
401933:	8b 3d 90 d1 40 00    	mov    0x40d190,%edi
401939:	6a 05                	push   $0x5
40193b:	a3 7c 12 41 00       	mov    %eax,0x41127c
401940:	c7 05 60 12 41 00 00 	movl   $0x0,0x411260
401947:	00 00 00
40194a:	ff d7                	call   *%edi
40194c:	6a 06                	push   $0x6
40194e:	a3 5c 12 41 00       	mov    %eax,0x41125c
401953:	ff d7                	call   *%edi
401955:	89 35 4c 12 41 00    	mov    %esi,0x41124c
40195b:	5f                   	pop    %edi
40195c:	5e                   	pop    %esi
40195d:	a3 58 12 41 00       	mov    %eax,0x411258
401962:	5d                   	pop    %ebp
401963:	b8 01 00 00 00       	mov    $0x1,%eax
401968:	5b                   	pop    %ebx
401969:	83 c4 50             	add    $0x50,%esp
40196c:	c2 10 00             	ret    $0x10
40196f:	a1 60 12 41 00       	mov    0x411260,%eax
401974:	8b 74 24 64          	mov    0x64(%esp),%esi
401978:	83 c0 05             	add    $0x5,%eax
40197b:	50                   	push   %eax
40197c:	68 2c 01 00 00       	push   $0x12c
401981:	6a 00                	push   $0x0
401983:	6a 00                	push   $0x0
401985:	6a 00                	push   $0x0
401987:	6a 00                	push   $0x0
401989:	56                   	push   %esi
40198a:	e8 a1 f9 ff ff       	call   0x401330
40198f:	8b 0d 64 13 41 00    	mov    0x411364,%ecx
401995:	6a 01                	push   $0x1
401997:	51                   	push   %ecx
401998:	56                   	push   %esi
401999:	e8 72 fb ff ff       	call   0x401510
40199e:	83 c4 28             	add    $0x28,%esp
4019a1:	33 c0                	xor    %eax,%eax
4019a3:	5f                   	pop    %edi
4019a4:	5e                   	pop    %esi
4019a5:	5d                   	pop    %ebp
4019a6:	5b                   	pop    %ebx
4019a7:	83 c4 50             	add    $0x50,%esp
4019aa:	c2 10 00             	ret    $0x10
4019ad:	8b 15 60 12 41 00    	mov    0x411260,%edx
4019b3:	8b 74 24 64          	mov    0x64(%esp),%esi
4019b7:	83 c2 05             	add    $0x5,%edx
4019ba:	52                   	push   %edx
4019bb:	68 2c 01 00 00       	push   $0x12c
4019c0:	6a 00                	push   $0x0
4019c2:	6a 00                	push   $0x0
4019c4:	6a 00                	push   $0x0
4019c6:	6a 00                	push   $0x0
4019c8:	56                   	push   %esi
4019c9:	e8 62 f9 ff ff       	call   0x401330
4019ce:	a1 64 13 41 00       	mov    0x411364,%eax
4019d3:	6a 01                	push   $0x1
4019d5:	50                   	push   %eax
4019d6:	56                   	push   %esi
4019d7:	e8 34 fb ff ff       	call   0x401510
4019dc:	83 c4 28             	add    $0x28,%esp
4019df:	33 c0                	xor    %eax,%eax
4019e1:	5f                   	pop    %edi
4019e2:	5e                   	pop    %esi
4019e3:	5d                   	pop    %ebp
4019e4:	5b                   	pop    %ebx
4019e5:	83 c4 50             	add    $0x50,%esp
4019e8:	c2 10 00             	ret    $0x10
4019eb:	8b 44 24 70          	mov    0x70(%esp),%eax
4019ef:	8b 3d 64 12 41 00    	mov    0x411264,%edi
4019f5:	8b 0d 60 12 41 00    	mov    0x411260,%ecx
4019fb:	8b 74 24 64          	mov    0x64(%esp),%esi
4019ff:	66 8b d0             	mov    %ax,%dx
401a02:	c1 e8 10             	shr    $0x10,%eax
401a05:	3b f9                	cmp    %ecx,%edi
401a07:	66 89 15 56 12 41 00 	mov    %dx,0x411256
401a0e:	66 a3 54 12 41 00    	mov    %ax,0x411254
401a14:	7d 3f                	jge    0x401a55
401a16:	25 ff ff 00 00       	and    $0xffff,%eax
401a1b:	3b f8                	cmp    %eax,%edi
401a1d:	7d 36                	jge    0x401a55
401a1f:	83 c1 05             	add    $0x5,%ecx
401a22:	51                   	push   %ecx
401a23:	68 2c 01 00 00       	push   $0x12c
401a28:	6a 00                	push   $0x0
401a2a:	6a 00                	push   $0x0
401a2c:	6a 00                	push   $0x0
401a2e:	6a 00                	push   $0x0
401a30:	56                   	push   %esi
401a31:	e8 fa f8 ff ff       	call   0x401330
401a36:	8b 0d 64 13 41 00    	mov    0x411364,%ecx
401a3c:	6a 01                	push   $0x1
401a3e:	51                   	push   %ecx
401a3f:	56                   	push   %esi
401a40:	e8 cb fa ff ff       	call   0x401510
401a45:	66 8b 15 56 12 41 00 	mov    0x411256,%dx
401a4c:	8b 3d 64 12 41 00    	mov    0x411264,%edi
401a52:	83 c4 28             	add    $0x28,%esp
401a55:	8b 0d 5c 12 41 00    	mov    0x41125c,%ecx
401a5b:	a1 68 12 41 00       	mov    0x411268,%eax
401a60:	8d 59 03             	lea    0x3(%ecx),%ebx
401a63:	3b c3                	cmp    %ebx,%eax
401a65:	7f 07                	jg     0x401a6e
401a67:	0f bf da             	movswl %dx,%ebx
401a6a:	3b d8                	cmp    %eax,%ebx
401a6c:	7f 36                	jg     0x401aa4
401a6e:	8b d8                	mov    %eax,%ebx
401a70:	2b d9                	sub    %ecx,%ebx
401a72:	8b 0d 74 12 41 00    	mov    0x411274,%ecx
401a78:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
401a7e:	3b d9                	cmp    %ecx,%ebx
401a80:	7c 07                	jl     0x401a89
401a82:	0f bf ca             	movswl %dx,%ecx
401a85:	3b c8                	cmp    %eax,%ecx
401a87:	7c 1b                	jl     0x401aa4
401a89:	8b 0d 70 12 41 00    	mov    0x411270,%ecx
401a8f:	8d 87 b4 00 00 00    	lea    0xb4(%edi),%eax
401a95:	3b c1                	cmp    %ecx,%eax
401a97:	7c 1b                	jl     0x401ab4
401a99:	0f bf 0d 54 12 41 00 	movswl 0x411254,%ecx
401aa0:	3b cf                	cmp    %edi,%ecx
401aa2:	7d 10                	jge    0x401ab4
401aa4:	56                   	push   %esi
401aa5:	e8 96 fb ff ff       	call   0x401640
401aaa:	66 8b 15 56 12 41 00 	mov    0x411256,%dx
401ab1:	83 c4 04             	add    $0x4,%esp
401ab4:	0f bf 05 54 12 41 00 	movswl 0x411254,%eax
401abb:	0f bf d2             	movswl %dx,%edx