4087da:	53                   	push   %ebx
4087db:	e8 b2 d4 ff ff       	call   0x405c92
4087e0:	83 c4 08             	add    $0x8,%esp
4087e3:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
4087e6:	6a 01                	push   $0x1
4087e8:	8b 44 8f 08          	mov    0x8(%edi,%ecx,4),%eax
4087ec:	e8 35 d5 ff ff       	call   0x405d26
4087f1:	8b 04 8f             	mov    (%edi,%ecx,4),%eax
4087f4:	89 43 0c             	mov    %eax,0xc(%ebx)
4087f7:	ff 54 8f 08          	call   *0x8(%edi,%ecx,4)
4087fb:	8b 7b 08             	mov    0x8(%ebx),%edi
4087fe:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
408801:	8b 34 8f             	mov    (%edi,%ecx,4),%esi
408804:	eb a1                	jmp    0x4087a7
408806:	b8 00 00 00 00       	mov    $0x0,%eax
40880b:	eb 1c                	jmp    0x408829
40880d:	b8 01 00 00 00       	mov    $0x1,%eax
408812:	eb 15                	jmp    0x408829
408814:	55                   	push   %ebp
408815:	8d 6b 10             	lea    0x10(%ebx),%ebp
408818:	6a ff                	push   $0xffffffff
40881a:	53                   	push   %ebx
40881b:	e8 72 d4 ff ff       	call   0x405c92
408820:	83 c4 08             	add    $0x8,%esp
408823:	5d                   	pop    %ebp
408824:	b8 01 00 00 00       	mov    $0x1,%eax
408829:	5d                   	pop    %ebp
40882a:	5f                   	pop    %edi
40882b:	5e                   	pop    %esi
40882c:	5b                   	pop    %ebx
40882d:	8b e5                	mov    %ebp,%esp
40882f:	5d                   	pop    %ebp
408830:	c3                   	ret
408831:	55                   	push   %ebp
408832:	8b 4c 24 08          	mov    0x8(%esp),%ecx
408836:	8b 29                	mov    (%ecx),%ebp
408838:	8b 41 1c             	mov    0x1c(%ecx),%eax
40883b:	50                   	push   %eax
40883c:	8b 41 18             	mov    0x18(%ecx),%eax
40883f:	50                   	push   %eax
408840:	e8 4d d4 ff ff       	call   0x405c92
408845:	83 c4 08             	add    $0x8,%esp
408848:	5d                   	pop    %ebp
408849:	c2 04 00             	ret    $0x4
40884c:	a1 ec 17 41 00       	mov    0x4117ec,%eax
408851:	83 f8 01             	cmp    $0x1,%eax
408854:	74 0d                	je     0x408863
408856:	85 c0                	test   %eax,%eax
408858:	75 2a                	jne    0x408884
40885a:	83 3d 64 05 41 00 01 	cmpl   $0x1,0x410564
408861:	75 21                	jne    0x408884
408863:	68 fc 00 00 00       	push   $0xfc
408868:	e8 18 00 00 00       	call   0x408885
40886d:	a1 d8 19 41 00       	mov    0x4119d8,%eax
408872:	59                   	pop    %ecx
408873:	85 c0                	test   %eax,%eax
408875:	74 02                	je     0x408879
408877:	ff d0                	call   *%eax
408879:	68 ff 00 00 00       	push   $0xff
40887e:	e8 02 00 00 00       	call   0x408885
408883:	59                   	pop    %ecx
408884:	c3                   	ret
408885:	55                   	push   %ebp
408886:	8b ec                	mov    %esp,%ebp
408888:	81 ec a4 01 00 00    	sub    $0x1a4,%esp
40888e:	8b 55 08             	mov    0x8(%ebp),%edx
408891:	33 c9                	xor    %ecx,%ecx
408893:	b8 38 0e 41 00       	mov    $0x410e38,%eax
408898:	3b 10                	cmp    (%eax),%edx
40889a:	74 0b                	je     0x4088a7
40889c:	83 c0 08             	add    $0x8,%eax
40889f:	41                   	inc    %ecx
4088a0:	3d c8 0e 41 00       	cmp    $0x410ec8,%eax
4088a5:	7c f1                	jl     0x408898
4088a7:	56                   	push   %esi
4088a8:	8b f1                	mov    %ecx,%esi
4088aa:	c1 e6 03             	shl    $0x3,%esi
4088ad:	3b 96 38 0e 41 00    	cmp    0x410e38(%esi),%edx
4088b3:	0f 85 1c 01 00 00    	jne    0x4089d5
4088b9:	a1 ec 17 41 00       	mov    0x4117ec,%eax
4088be:	83 f8 01             	cmp    $0x1,%eax
4088c1:	0f 84 e8 00 00 00    	je     0x4089af
4088c7:	85 c0                	test   %eax,%eax
4088c9:	75 0d                	jne    0x4088d8
4088cb:	83 3d 64 05 41 00 01 	cmpl   $0x1,0x410564
4088d2:	0f 84 d7 00 00 00    	je     0x4089af
4088d8:	81 fa fc 00 00 00    	cmp    $0xfc,%edx
4088de:	0f 84 f1 00 00 00    	je     0x4089d5
4088e4:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
4088ea:	68 04 01 00 00       	push   $0x104
4088ef:	50                   	push   %eax
4088f0:	6a 00                	push   $0x0
4088f2:	ff 15 0c d1 40 00    	call   *0x40d10c
4088f8:	85 c0                	test   %eax,%eax
4088fa:	75 13                	jne    0x40890f
4088fc:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
408902:	68 94 d7 40 00       	push   $0x40d794
408907:	50                   	push   %eax
408908:	e8 e3 18 00 00       	call   0x40a1f0
40890d:	59                   	pop    %ecx
40890e:	59                   	pop    %ecx
40890f:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
408915:	57                   	push   %edi
408916:	50                   	push   %eax
408917:	8d bd 5c fe ff ff    	lea    -0x1a4(%ebp),%edi
40891d:	e8 de e0 ff ff       	call   0x406a00
408922:	40                   	inc    %eax
408923:	59                   	pop    %ecx
408924:	83 f8 3c             	cmp    $0x3c,%eax
408927:	76 29                	jbe    0x408952
408929:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
40892f:	50                   	push   %eax
408930:	e8 cb e0 ff ff       	call   0x406a00
408935:	8b f8                	mov    %eax,%edi
408937:	8d 85 5c fe ff ff    	lea    -0x1a4(%ebp),%eax
40893d:	83 e8 3b             	sub    $0x3b,%eax
408940:	6a 03                	push   $0x3
408942:	03 f8                	add    %eax,%edi
408944:	68 90 d7 40 00       	push   $0x40d790
408949:	57                   	push   %edi
40894a:	e8 41 25 00 00       	call   0x40ae90
40894f:	83 c4 10             	add    $0x10,%esp
408952:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
408958:	68 74 d7 40 00       	push   $0x40d774
40895d:	50                   	push   %eax
40895e:	e8 8d 18 00 00       	call   0x40a1f0
408963:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
408969:	57                   	push   %edi
40896a:	50                   	push   %eax
40896b:	e8 90 18 00 00       	call   0x40a200
408970:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
408976:	68 70 d7 40 00       	push   $0x40d770
40897b:	50                   	push   %eax
40897c:	e8 7f 18 00 00       	call   0x40a200
408981:	ff b6 3c 0e 41 00    	push   0x410e3c(%esi)
408987:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40898d:	50                   	push   %eax
40898e:	e8 6d 18 00 00       	call   0x40a200
408993:	68 10 20 01 00       	push   $0x12010
408998:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40899e:	68 48 d7 40 00       	push   $0x40d748
4089a3:	50                   	push   %eax
4089a4:	e8 4b 2d 00 00       	call   0x40b6f4
4089a9:	83 c4 2c             	add    $0x2c,%esp
4089ac:	5f                   	pop    %edi
4089ad:	eb 26                	jmp    0x4089d5
4089af:	8d 45 08             	lea    0x8(%ebp),%eax
4089b2:	8d b6 3c 0e 41 00    	lea    0x410e3c(%esi),%esi
4089b8:	6a 00                	push   $0x0
4089ba:	50                   	push   %eax
4089bb:	ff 36                	push   (%esi)
4089bd:	e8 3e e0 ff ff       	call   0x406a00
4089c2:	59                   	pop    %ecx
4089c3:	50                   	push   %eax
4089c4:	ff 36                	push   (%esi)
4089c6:	6a f4                	push   $0xfffffff4
4089c8:	ff 15 28 d1 40 00    	call   *0x40d128
4089ce:	50                   	push   %eax
4089cf:	ff 15 80 d0 40 00    	call   *0x40d080
4089d5:	5e                   	pop    %esi
4089d6:	c9                   	leave
4089d7:	c3                   	ret
4089d8:	cc                   	int3
4089d9:	cc                   	int3
4089da:	cc                   	int3
4089db:	cc                   	int3
4089dc:	cc                   	int3
4089dd:	cc                   	int3
4089de:	cc                   	int3
4089df:	cc                   	int3
4089e0:	8b 54 24 04          	mov    0x4(%esp),%edx
4089e4:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4089e8:	f7 c2 03 00 00 00    	test   $0x3,%edx
4089ee:	75 3c                	jne    0x408a2c
4089f0:	8b 02                	mov    (%edx),%eax
4089f2:	3a 01                	cmp    (%ecx),%al
4089f4:	75 2e                	jne    0x408a24
4089f6:	0a c0                	or     %al,%al
4089f8:	74 26                	je     0x408a20
4089fa:	3a 61 01             	cmp    0x1(%ecx),%ah
4089fd:	75 25                	jne    0x408a24
4089ff:	0a e4                	or     %ah,%ah
408a01:	74 1d                	je     0x408a20
408a03:	c1 e8 10             	shr    $0x10,%eax
408a06:	3a 41 02             	cmp    0x2(%ecx),%al
408a09:	75 19                	jne    0x408a24
408a0b:	0a c0                	or     %al,%al
408a0d:	74 11                	je     0x408a20
408a0f:	3a 61 03             	cmp    0x3(%ecx),%ah
408a12:	75 10                	jne    0x408a24
408a14:	83 c1 04             	add    $0x4,%ecx
408a17:	83 c2 04             	add    $0x4,%edx
408a1a:	0a e4                	or     %ah,%ah
408a1c:	75 d2                	jne    0x4089f0
408a1e:	8b ff                	mov    %edi,%edi
408a20:	33 c0                	xor    %eax,%eax
408a22:	c3                   	ret
408a23:	90                   	nop
408a24:	1b c0                	sbb    %eax,%eax
408a26:	d1 e0                	shl    $1,%eax
408a28:	40                   	inc    %eax
408a29:	c3                   	ret
408a2a:	8b ff                	mov    %edi,%edi
408a2c:	f7 c2 01 00 00 00    	test   $0x1,%edx
408a32:	74 14                	je     0x408a48
408a34:	8a 02                	mov    (%edx),%al
408a36:	42                   	inc    %edx
408a37:	3a 01                	cmp    (%ecx),%al
408a39:	75 e9                	jne    0x408a24
408a3b:	41                   	inc    %ecx
408a3c:	0a c0                	or     %al,%al
408a3e:	74 e0                	je     0x408a20
408a40:	f7 c2 02 00 00 00    	test   $0x2,%edx
408a46:	74 a8                	je     0x4089f0
408a48:	66 8b 02             	mov    (%edx),%ax
408a4b:	83 c2 02             	add    $0x2,%edx
408a4e:	3a 01                	cmp    (%ecx),%al
408a50:	75 d2                	jne    0x408a24
408a52:	0a c0                	or     %al,%al
408a54:	74 ca                	je     0x408a20
408a56:	3a 61 01             	cmp    0x1(%ecx),%ah
408a59:	75 c9                	jne    0x408a24
408a5b:	0a e4                	or     %ah,%ah
408a5d:	74 c1                	je     0x408a20
408a5f:	83 c1 02             	add    $0x2,%ecx
408a62:	eb 8c                	jmp    0x4089f0
408a64:	53                   	push   %ebx
408a65:	56                   	push   %esi
408a66:	8b 74 24 0c          	mov    0xc(%esp),%esi
408a6a:	57                   	push   %edi
408a6b:	0f af 74 24 14       	imul   0x14(%esp),%esi
408a70:	83 fe e0             	cmp    $0xffffffe0,%esi
408a73:	8b de                	mov    %esi,%ebx
408a75:	77 0d                	ja     0x408a84
408a77:	85 f6                	test   %esi,%esi
408a79:	75 03                	jne    0x408a7e
408a7b:	6a 01                	push   $0x1
408a7d:	5e                   	pop    %esi
408a7e:	83 c6 0f             	add    $0xf,%esi
408a81:	83 e6 f0             	and    $0xfffffff0,%esi
408a84:	33 ff                	xor    %edi,%edi
408a86:	83 fe e0             	cmp    $0xffffffe0,%esi
408a89:	77 3a                	ja     0x408ac5
408a8b:	3b 1d f0 0e 41 00    	cmp    0x410ef0,%ebx
408a91:	77 1d                	ja     0x408ab0
408a93:	6a 09                	push   $0x9
408a95:	e8 5b e5 ff ff       	call   0x406ff5
408a9a:	53                   	push   %ebx
408a9b:	e8 38 1c 00 00       	call   0x40a6d8
408aa0:	6a 09                	push   $0x9
408aa2:	8b f8                	mov    %eax,%edi
408aa4:	e8 ad e5 ff ff       	call   0x407056
408aa9:	83 c4 0c             	add    $0xc,%esp
408aac:	85 ff                	test   %edi,%edi
408aae:	75 2b                	jne    0x408adb
408ab0:	56                   	push   %esi
408ab1:	6a 08                	push   $0x8
408ab3:	ff 35 a0 1d 41 00    	push   0x411da0
408ab9:	ff 15 00 d1 40 00    	call   *0x40d100
408abf:	8b f8                	mov    %eax,%edi
408ac1:	85 ff                	test   %edi,%edi
408ac3:	75 22                	jne    0x408ae7
408ac5:	83 3d 48 1a 41 00 00 	cmpl   $0x0,0x411a48
408acc:	74 19                	je     0x408ae7
408ace:	56                   	push   %esi
408acf:	e8 76 25 00 00       	call   0x40b04a
408ad4:	85 c0                	test   %eax,%eax
408ad6:	59                   	pop    %ecx
408ad7:	74 14                	je     0x408aed
408ad9:	eb a9                	jmp    0x408a84
408adb:	53                   	push   %ebx
408adc:	6a 00                	push   $0x0
408ade:	57                   	push   %edi
408adf:	e8 fc da ff ff       	call   0x4065e0
408ae4:	83 c4 0c             	add    $0xc,%esp
408ae7:	8b c7                	mov    %edi,%eax
408ae9:	5f                   	pop    %edi
408aea:	5e                   	pop    %esi
408aeb:	5b                   	pop    %ebx
408aec:	c3                   	ret
408aed:	33 c0                	xor    %eax,%eax
408aef:	eb f8                	jmp    0x408ae9
408af1:	53                   	push   %ebx
408af2:	57                   	push   %edi
408af3:	6a 02                	push   $0x2
408af5:	33 db                	xor    %ebx,%ebx
408af7:	e8 f9 e4 ff ff       	call   0x406ff5
408afc:	59                   	pop    %ecx
408afd:	6a 03                	push   $0x3
408aff:	5f                   	pop    %edi
408b00:	39 3d 00 2f 41 00    	cmp    %edi,0x412f00
408b06:	7e 5d                	jle    0x408b65
408b08:	56                   	push   %esi
408b09:	a1 e0 1e 41 00       	mov    0x411ee0,%eax
408b0e:	8b f7                	mov    %edi,%esi
408b10:	c1 e6 02             	shl    $0x2,%esi
408b13:	8b 04 06             	mov    (%esi,%eax,1),%eax
408b16:	85 c0                	test   %eax,%eax
408b18:	74 41                	je     0x408b5b
408b1a:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
408b1e:	74 0d                	je     0x408b2d
408b20:	50                   	push   %eax
408b21:	e8 4f de ff ff       	call   0x406975
408b26:	83 f8 ff             	cmp    $0xffffffff,%eax
408b29:	59                   	pop    %ecx
408b2a:	74 01                	je     0x408b2d
408b2c:	43                   	inc    %ebx
408b2d:	83 ff 14             	cmp    $0x14,%edi
408b30:	7c 29                	jl     0x408b5b
408b32:	a1 e0 1e 41 00       	mov    0x411ee0,%eax
408b37:	8b 04 06             	mov    (%esi,%eax,1),%eax
408b3a:	83 c0 20             	add    $0x20,%eax
408b3d:	50                   	push   %eax
408b3e:	ff 15 c4 d0 40 00    	call   *0x40d0c4
408b44:	a1 e0 1e 41 00       	mov    0x411ee0,%eax
408b49:	ff 34 06             	push   (%esi,%eax,1)
408b4c:	e8 86 e3 ff ff       	call   0x406ed7
408b51:	a1 e0 1e 41 00       	mov    0x411ee0,%eax
408b56:	59                   	pop    %ecx
408b57:	83 24 06 00          	andl   $0x0,(%esi,%eax,1)
408b5b:	47                   	inc    %edi
408b5c:	3b 3d 00 2f 41 00    	cmp    0x412f00,%edi
408b62:	7c a5                	jl     0x408b09
408b64:	5e                   	pop    %esi
408b65:	6a 02                	push   $0x2
408b67:	e8 ea e4 ff ff       	call   0x407056
408b6c:	59                   	pop    %ecx
408b6d:	8b c3                	mov    %ebx,%eax
408b6f:	5f                   	pop    %edi
408b70:	5b                   	pop    %ebx
408b71:	c3                   	ret
408b72:	55                   	push   %ebp
408b73:	8b ec                	mov    %esp,%ebp
408b75:	56                   	push   %esi
408b76:	8b 75 18             	mov    0x18(%ebp),%esi
408b79:	57                   	push   %edi
408b7a:	bf 20 05 93 19       	mov    $0x19930520,%edi
408b7f:	39 3e                	cmp    %edi,(%esi)
408b81:	74 05                	je     0x408b88
408b83:	e8 b5 08 00 00       	call   0x40943d
408b88:	8b 45 08             	mov    0x8(%ebp),%eax
408b8b:	f6 40 04 66          	testb  $0x66,0x4(%eax)
408b8f:	74 1f                	je     0x408bb0
408b91:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
408b95:	74 6f                	je     0x408c06
408b97:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
408b9b:	75 69                	jne    0x408c06
408b9d:	6a ff                	push   $0xffffffff
408b9f:	56                   	push   %esi
408ba0:	ff 75 14             	push   0x14(%ebp)