4118bd:	3b 75 10             	cmp    0x10(%ebp),%esi
4118c0:	72 96                	jb     0x411858
4118c2:	33 db                	xor    %ebx,%ebx
4118c4:	57                   	push   %edi
4118c5:	e8 71 64 01 00       	call   0x427d3b
4118ca:	59                   	pop    %ecx
4118cb:	8b c3                	mov    %ebx,%eax
4118cd:	e8 87 67 01 00       	call   0x428059
4118d2:	c2 0c 00             	ret    $0xc
4118d5:	6a 14                	push   $0x14
4118d7:	b8 5b 88 42 00       	mov    $0x42885b,%eax
4118dc:	e8 f0 67 01 00       	call   0x4280d1
4118e1:	8b f2                	mov    %edx,%esi
4118e3:	89 75 ec             	mov    %esi,-0x14(%ebp)
4118e6:	8b f9                	mov    %ecx,%edi
4118e8:	89 7d e8             	mov    %edi,-0x18(%ebp)
4118eb:	85 ff                	test   %edi,%edi
4118ed:	0f 84 fa 00 00 00    	je     0x4119ed
4118f3:	85 f6                	test   %esi,%esi
4118f5:	0f 84 f2 00 00 00    	je     0x4119ed
4118fb:	33 db                	xor    %ebx,%ebx
4118fd:	8d 51 02             	lea    0x2(%ecx),%edx
411900:	89 1e                	mov    %ebx,(%esi)
411902:	66 8b 01             	mov    (%ecx),%ax
411905:	83 c1 02             	add    $0x2,%ecx
411908:	66 3b c3             	cmp    %bx,%ax
41190b:	75 f5                	jne    0x411902
41190d:	2b ca                	sub    %edx,%ecx
41190f:	d1 f9                	sar    $1,%ecx
411911:	8d 41 01             	lea    0x1(%ecx),%eax
411914:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411917:	85 c0                	test   %eax,%eax
411919:	75 27                	jne    0x411942
41191b:	a1 00 b0 42 00       	mov    0x42b000,%eax
411920:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411925:	0f 84 e7 00 00 00    	je     0x411a12
41192b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41192f:	0f 84 dd 00 00 00    	je     0x411a12
411935:	ff 70 14             	push   0x14(%eax)
411938:	ff 70 10             	push   0x10(%eax)
41193b:	6a 40                	push   $0x40
41193d:	e9 c5 00 00 00       	jmp    0x411a07
411942:	33 c9                	xor    %ecx,%ecx
411944:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411947:	6a 02                	push   $0x2
411949:	5a                   	pop    %edx
41194a:	f7 e2                	mul    %edx
41194c:	0f 90 c1             	seto   %cl
41194f:	f7 d9                	neg    %ecx
411951:	0b c8                	or     %eax,%ecx
411953:	51                   	push   %ecx
411954:	e8 b9 63 01 00       	call   0x427d12
411959:	59                   	pop    %ecx
41195a:	89 06                	mov    %eax,(%esi)
41195c:	eb 0e                	jmp    0x41196c
41195e:	b8 64 19 41 00       	mov    $0x411964,%eax
411963:	c3                   	ret
411964:	8b 75 ec             	mov    -0x14(%ebp),%esi
411967:	33 db                	xor    %ebx,%ebx
411969:	8b 7d e8             	mov    -0x18(%ebp),%edi
41196c:	8b 0e                	mov    (%esi),%ecx
41196e:	85 c9                	test   %ecx,%ecx
411970:	75 2c                	jne    0x41199e
411972:	a1 00 b0 42 00       	mov    0x42b000,%eax
411977:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41197c:	74 19                	je     0x411997
41197e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411982:	74 13                	je     0x411997
411984:	ff 70 14             	push   0x14(%eax)
411987:	ba 8c 27 40 00       	mov    $0x40278c,%edx
41198c:	ff 70 10             	push   0x10(%eax)
41198f:	6a 41                	push   $0x41
411991:	59                   	pop    %ecx
411992:	e8 19 5a ff ff       	call   0x4073b0
411997:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
41199c:	eb 3c                	jmp    0x4119da
41199e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4119a1:	57                   	push   %edi
4119a2:	e8 8e 70 ff ff       	call   0x408a35
4119a7:	8b f8                	mov    %eax,%edi
4119a9:	85 ff                	test   %edi,%edi
4119ab:	79 27                	jns    0x4119d4
4119ad:	a1 00 b0 42 00       	mov    0x42b000,%eax
4119b2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4119b7:	74 1d                	je     0x4119d6
4119b9:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4119bd:	74 17                	je     0x4119d6
4119bf:	ff 70 14             	push   0x14(%eax)
4119c2:	ba 8c 27 40 00       	mov    $0x40278c,%edx
4119c7:	ff 70 10             	push   0x10(%eax)
4119ca:	6a 42                	push   $0x42
4119cc:	59                   	pop    %ecx
4119cd:	e8 de 59 ff ff       	call   0x4073b0
4119d2:	eb 02                	jmp    0x4119d6
4119d4:	8b fb                	mov    %ebx,%edi
4119d6:	85 ff                	test   %edi,%edi
4119d8:	79 0f                	jns    0x4119e9
4119da:	83 3e 00             	cmpl   $0x0,(%esi)
4119dd:	74 0a                	je     0x4119e9
4119df:	ff 36                	push   (%esi)
4119e1:	e8 55 63 01 00       	call   0x427d3b
4119e6:	59                   	pop    %ecx
4119e7:	89 1e                	mov    %ebx,(%esi)
4119e9:	8b c7                	mov    %edi,%eax
4119eb:	eb 2a                	jmp    0x411a17
4119ed:	a1 00 b0 42 00       	mov    0x42b000,%eax
4119f2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4119f7:	74 19                	je     0x411a12
4119f9:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4119fd:	74 13                	je     0x411a12
4119ff:	ff 70 14             	push   0x14(%eax)
411a02:	ff 70 10             	push   0x10(%eax)
411a05:	6a 3f                	push   $0x3f
411a07:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411a0c:	59                   	pop    %ecx
411a0d:	e8 9e 59 ff ff       	call   0x4073b0
411a12:	b8 57 00 07 80       	mov    $0x80070057,%eax
411a17:	e8 1a 66 01 00       	call   0x428036
411a1c:	c3                   	ret
411a1d:	6a 0c                	push   $0xc
411a1f:	b8 7e 88 42 00       	mov    $0x42887e,%eax
411a24:	e8 3f 66 01 00       	call   0x428068
411a29:	8b f9                	mov    %ecx,%edi
411a2b:	33 f6                	xor    %esi,%esi
411a2d:	89 75 e8             	mov    %esi,-0x18(%ebp)
411a30:	89 75 f0             	mov    %esi,-0x10(%ebp)
411a33:	89 75 ec             	mov    %esi,-0x14(%ebp)
411a36:	8d 55 e8             	lea    -0x18(%ebp),%edx
411a39:	89 75 fc             	mov    %esi,-0x4(%ebp)
411a3c:	e8 00 1c 00 00       	call   0x413641
411a41:	85 c0                	test   %eax,%eax
411a43:	79 27                	jns    0x411a6c
411a45:	a1 00 b0 42 00       	mov    0x42b000,%eax
411a4a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411a4f:	74 7a                	je     0x411acb
411a51:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
411a55:	74 74                	je     0x411acb
411a57:	ff 70 14             	push   0x14(%eax)
411a5a:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411a5f:	ff 70 10             	push   0x10(%eax)
411a62:	6a 44                	push   $0x44
411a64:	59                   	pop    %ecx
411a65:	e8 46 59 ff ff       	call   0x4073b0
411a6a:	eb 5f                	jmp    0x411acb
411a6c:	ff 75 e8             	push   -0x18(%ebp)
411a6f:	ff 15 3c c1 42 00    	call   *0x42c13c
411a75:	8b c8                	mov    %eax,%ecx
411a77:	f6 c1 10             	test   $0x10,%cl
411a7a:	75 28                	jne    0x411aa4
411a7c:	83 f9 ff             	cmp    $0xffffffff,%ecx
411a7f:	74 23                	je     0x411aa4
411a81:	56                   	push   %esi
411a82:	56                   	push   %esi
411a83:	6a 03                	push   $0x3
411a85:	56                   	push   %esi
411a86:	6a 07                	push   $0x7
411a88:	6a 01                	push   $0x1
411a8a:	ff 75 e8             	push   -0x18(%ebp)
411a8d:	ff 15 90 c1 42 00    	call   *0x42c190
411a93:	83 f8 ff             	cmp    $0xffffffff,%eax
411a96:	74 33                	je     0x411acb
411a98:	50                   	push   %eax
411a99:	ff 15 30 c2 42 00    	call   *0x42c230
411a9f:	33 f6                	xor    %esi,%esi
411aa1:	46                   	inc    %esi
411aa2:	eb 27                	jmp    0x411acb
411aa4:	a1 00 b0 42 00       	mov    0x42b000,%eax
411aa9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
411aae:	74 1b                	je     0x411acb
411ab0:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
411ab4:	74 15                	je     0x411acb
411ab6:	51                   	push   %ecx
411ab7:	57                   	push   %edi
411ab8:	ff 70 14             	push   0x14(%eax)
411abb:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411ac0:	ff 70 10             	push   0x10(%eax)
411ac3:	6a 45                	push   $0x45
411ac5:	59                   	pop    %ecx
411ac6:	e8 eb 5e ff ff       	call   0x4079b6
411acb:	6a 01                	push   $0x1
411acd:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411ad0:	e8 50 b1 ff ff       	call   0x40cc25
411ad5:	8b c6                	mov    %esi,%eax
411ad7:	e8 5a 65 01 00       	call   0x428036
411adc:	c3                   	ret
411add:	8b ff                	mov    %edi,%edi
411adf:	55                   	push   %ebp
411ae0:	8b ec                	mov    %esp,%ebp
411ae2:	83 ec 0c             	sub    $0xc,%esp
411ae5:	8d 45 fc             	lea    -0x4(%ebp),%eax
411ae8:	56                   	push   %esi
411ae9:	50                   	push   %eax
411aea:	6a 08                	push   $0x8
411aec:	8d 45 f4             	lea    -0xc(%ebp),%eax
411aef:	8b f1                	mov    %ecx,%esi
411af1:	50                   	push   %eax
411af2:	52                   	push   %edx
411af3:	56                   	push   %esi
411af4:	ff 15 38 c1 42 00    	call   *0x42c138
411afa:	85 c0                	test   %eax,%eax
411afc:	75 14                	jne    0x411b12
411afe:	ff 15 18 c2 42 00    	call   *0x42c218
411b04:	85 c0                	test   %eax,%eax
411b06:	7e 72                	jle    0x411b7a
411b08:	0f b7 c0             	movzwl %ax,%eax
411b0b:	0d 00 00 07 80       	or     $0x80070000,%eax
411b10:	eb 68                	jmp    0x411b7a
411b12:	83 7d fc 08          	cmpl   $0x8,-0x4(%ebp)
411b16:	57                   	push   %edi
411b17:	75 5b                	jne    0x411b74
411b19:	8d 45 fc             	lea    -0x4(%ebp),%eax
411b1c:	50                   	push   %eax
411b1d:	6a 50                	push   $0x50
411b1f:	ff 75 08             	push   0x8(%ebp)
411b22:	ff 75 f4             	push   -0xc(%ebp)
411b25:	56                   	push   %esi
411b26:	ff 15 38 c1 42 00    	call   *0x42c138
411b2c:	85 c0                	test   %eax,%eax
411b2e:	74 27                	je     0x411b57
411b30:	83 7d fc 50          	cmpl   $0x50,-0x4(%ebp)
411b34:	75 3e                	jne    0x411b74
411b36:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411b3a:	74 34                	je     0x411b70
411b3c:	8d 45 fc             	lea    -0x4(%ebp),%eax
411b3f:	bf cc 02 00 00       	mov    $0x2cc,%edi
411b44:	50                   	push   %eax
411b45:	57                   	push   %edi
411b46:	ff 75 0c             	push   0xc(%ebp)
411b49:	ff 75 f8             	push   -0x8(%ebp)
411b4c:	56                   	push   %esi
411b4d:	ff 15 38 c1 42 00    	call   *0x42c138
411b53:	85 c0                	test   %eax,%eax
411b55:	75 14                	jne    0x411b6b
411b57:	ff 15 18 c2 42 00    	call   *0x42c218
411b5d:	85 c0                	test   %eax,%eax
411b5f:	7e 18                	jle    0x411b79
411b61:	0f b7 c0             	movzwl %ax,%eax
411b64:	0d 00 00 07 80       	or     $0x80070000,%eax
411b69:	eb 0e                	jmp    0x411b79
411b6b:	39 7d fc             	cmp    %edi,-0x4(%ebp)
411b6e:	75 04                	jne    0x411b74
411b70:	33 c0                	xor    %eax,%eax
411b72:	eb 05                	jmp    0x411b79
411b74:	b8 2b 01 07 80       	mov    $0x8007012b,%eax
411b79:	5f                   	pop    %edi
411b7a:	5e                   	pop    %esi
411b7b:	c9                   	leave
411b7c:	c2 08 00             	ret    $0x8
411b7f:	6a 0c                	push   $0xc
411b81:	b8 7e 88 42 00       	mov    $0x42887e,%eax
411b86:	e8 dd 64 01 00       	call   0x428068
411b8b:	8b f9                	mov    %ecx,%edi
411b8d:	33 f6                	xor    %esi,%esi
411b8f:	89 75 e8             	mov    %esi,-0x18(%ebp)
411b92:	89 75 f0             	mov    %esi,-0x10(%ebp)
411b95:	89 75 ec             	mov    %esi,-0x14(%ebp)
411b98:	51                   	push   %ecx
411b99:	56                   	push   %esi
411b9a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411b9d:	89 75 fc             	mov    %esi,-0x4(%ebp)
411ba0:	e8 cb af ff ff       	call   0x40cb70
411ba5:	85 c0                	test   %eax,%eax
411ba7:	78 1a                	js     0x411bc3
411ba9:	57                   	push   %edi
411baa:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411bad:	e8 b9 a6 ff ff       	call   0x40c26b
411bb2:	85 c0                	test   %eax,%eax
411bb4:	78 0d                	js     0x411bc3
411bb6:	56                   	push   %esi
411bb7:	56                   	push   %esi
411bb8:	ff 75 e8             	push   -0x18(%ebp)
411bbb:	ff 15 34 c1 42 00    	call   *0x42c134
411bc1:	8b f0                	mov    %eax,%esi
411bc3:	6a 01                	push   $0x1
411bc5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411bc8:	e8 58 b0 ff ff       	call   0x40cc25
411bcd:	8b c6                	mov    %esi,%eax
411bcf:	e8 62 64 01 00       	call   0x428036
411bd4:	c3                   	ret
411bd5:	8b ff                	mov    %edi,%edi
411bd7:	53                   	push   %ebx
411bd8:	56                   	push   %esi
411bd9:	8b f1                	mov    %ecx,%esi
411bdb:	57                   	push   %edi
411bdc:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
411be0:	74 0d                	je     0x411bef
411be2:	ff 76 20             	push   0x20(%esi)
411be5:	e8 51 61 01 00       	call   0x427d3b
411bea:	83 66 20 00          	andl   $0x0,0x20(%esi)
411bee:	59                   	pop    %ecx
411bef:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
411bf3:	74 0d                	je     0x411c02
411bf5:	ff 76 18             	push   0x18(%esi)
411bf8:	e8 3e 61 01 00       	call   0x427d3b
411bfd:	83 66 18 00          	andl   $0x0,0x18(%esi)
411c01:	59                   	pop    %ecx
411c02:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
411c06:	74 67                	je     0x411c6f
411c08:	8b 56 14             	mov    0x14(%esi),%edx
411c0b:	33 ff                	xor    %edi,%edi
411c0d:	85 d2                	test   %edx,%edx
411c0f:	74 51                	je     0x411c62
411c11:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
411c17:	8b 5e 10             	mov    0x10(%esi),%ebx
411c1a:	2b d7                	sub    %edi,%edx
411c1c:	83 c3 fc             	add    $0xfffffffc,%ebx
411c1f:	8d 1c 93             	lea    (%ebx,%edx,4),%ebx
411c22:	85 db                	test   %ebx,%ebx
411c24:	75 23                	jne    0x411c49
411c26:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
411c2c:	74 2c                	je     0x411c5a
411c2e:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
411c32:	74 26                	je     0x411c5a
411c34:	ff 71 14             	push   0x14(%ecx)
411c37:	ba 8c 27 40 00       	mov    $0x40278c,%edx
411c3c:	ff 71 10             	push   0x10(%ecx)
411c3f:	6a 43                	push   $0x43
411c41:	59                   	pop    %ecx
411c42:	e8 69 57 ff ff       	call   0x4073b0
411c47:	eb 0b                	jmp    0x411c54
411c49:	ff 33                	push   (%ebx)
411c4b:	e8 eb 60 01 00       	call   0x427d3b
411c50:	83 23 00             	andl   $0x0,(%ebx)
411c53:	59                   	pop    %ecx
411c54:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
411c5a:	8b 56 14             	mov    0x14(%esi),%edx
411c5d:	47                   	inc    %edi
411c5e:	3b fa                	cmp    %edx,%edi
411c60:	72 b5                	jb     0x411c17
411c62:	ff 76 10             	push   0x10(%esi)
411c65:	e8 d1 60 01 00       	call   0x427d3b
411c6a:	83 66 10 00          	andl   $0x0,0x10(%esi)
411c6e:	59                   	pop    %ecx
411c6f:	56                   	push   %esi
411c70:	e8 c6 60 01 00       	call   0x427d3b
411c75:	59                   	pop    %ecx
411c76:	5f                   	pop    %edi
411c77:	5e                   	pop    %esi
411c78:	5b                   	pop    %ebx
411c79:	c3                   	ret
411c7a:	cc                   	int3
411c7b:	cc                   	int3
411c7c:	cc                   	int3
411c7d:	cc                   	int3
411c7e:	cc                   	int3
411c7f:	cc                   	int3
411c80:	8b ff                	mov    %edi,%edi
411c82:	55                   	push   %ebp
411c83:	8b ec                	mov    %esp,%ebp
411c85:	83 e4 f8             	and    $0xfffffff8,%esp