41aec3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41aec6:	89 45 f0             	mov    %eax,-0x10(%ebp)
41aec9:	89 45 f8             	mov    %eax,-0x8(%ebp)
41aecc:	89 45 ec             	mov    %eax,-0x14(%ebp)
41aecf:	89 45 f4             	mov    %eax,-0xc(%ebp)
41aed2:	8d 45 f0             	lea    -0x10(%ebp),%eax
41aed5:	50                   	push   %eax
41aed6:	8d 45 fc             	lea    -0x4(%ebp),%eax
41aed9:	50                   	push   %eax
41aeda:	57                   	push   %edi
41aedb:	53                   	push   %ebx
41aedc:	e8 53 46 02 00       	call   0x43f534
41aee1:	8b f0                	mov    %eax,%esi
41aee3:	85 f6                	test   %esi,%esi
41aee5:	79 12                	jns    0x41aef9
41aee7:	68 94 8c 45 00       	push   $0x458c94
41aeec:	56                   	push   %esi
41aeed:	e8 3d 52 02 00       	call   0x44012f
41aef2:	59                   	pop    %ecx
41aef3:	59                   	pop    %ecx
41aef4:	e9 63 01 00 00       	jmp    0x41b05c
41aef9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41aefc:	50                   	push   %eax
41aefd:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af00:	50                   	push   %eax
41af01:	57                   	push   %edi
41af02:	53                   	push   %ebx
41af03:	e8 2c 46 02 00       	call   0x43f534
41af08:	8b f0                	mov    %eax,%esi
41af0a:	85 f6                	test   %esi,%esi
41af0c:	79 07                	jns    0x41af15
41af0e:	68 ac 8c 45 00       	push   $0x458cac
41af13:	eb d7                	jmp    0x41aeec
41af15:	8d 45 ec             	lea    -0x14(%ebp),%eax
41af18:	50                   	push   %eax
41af19:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af1c:	50                   	push   %eax
41af1d:	57                   	push   %edi
41af1e:	53                   	push   %ebx
41af1f:	e8 10 46 02 00       	call   0x43f534
41af24:	8b f0                	mov    %eax,%esi
41af26:	85 f6                	test   %esi,%esi
41af28:	79 07                	jns    0x41af31
41af2a:	68 cc 8c 45 00       	push   $0x458ccc
41af2f:	eb bb                	jmp    0x41aeec
41af31:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af34:	50                   	push   %eax
41af35:	57                   	push   %edi
41af36:	53                   	push   %ebx
41af37:	6a 00                	push   $0x0
41af39:	ff 75 08             	push   0x8(%ebp)
41af3c:	e8 19 bf fe ff       	call   0x406e5a
41af41:	8b f0                	mov    %eax,%esi
41af43:	85 f6                	test   %esi,%esi
41af45:	79 07                	jns    0x41af4e
41af47:	68 f8 8c 45 00       	push   $0x458cf8
41af4c:	eb 9e                	jmp    0x41aeec
41af4e:	ff 75 10             	push   0x10(%ebp)
41af51:	33 db                	xor    %ebx,%ebx
41af53:	43                   	inc    %ebx
41af54:	53                   	push   %ebx
41af55:	e8 85 0b 01 00       	call   0x42badf
41af5a:	8b f0                	mov    %eax,%esi
41af5c:	85 f6                	test   %esi,%esi
41af5e:	79 07                	jns    0x41af67
41af60:	68 14 8d 45 00       	push   $0x458d14
41af65:	eb 85                	jmp    0x41aeec
41af67:	8b 7d 0c             	mov    0xc(%ebp),%edi
41af6a:	8d b7 b4 00 00 00    	lea    0xb4(%edi),%esi
41af70:	56                   	push   %esi
41af71:	e8 ea dc 00 00       	call   0x428c60
41af76:	56                   	push   %esi
41af77:	57                   	push   %edi
41af78:	53                   	push   %ebx
41af79:	e8 f5 db 00 00       	call   0x428b73
41af7e:	8b f0                	mov    %eax,%esi
41af80:	85 f6                	test   %esi,%esi
41af82:	79 0a                	jns    0x41af8e
41af84:	68 94 16 45 00       	push   $0x451694
41af89:	e9 5e ff ff ff       	jmp    0x41aeec
41af8e:	6a 02                	push   $0x2
41af90:	5f                   	pop    %edi
41af91:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
41af94:	74 05                	je     0x41af9b
41af96:	39 7d f8             	cmp    %edi,-0x8(%ebp)
41af99:	75 42                	jne    0x41afdd
41af9b:	68 66 01 00 20       	push   $0x20000166
41afa0:	57                   	push   %edi
41afa1:	e8 69 a5 fe ff       	call   0x40550f
41afa6:	59                   	pop    %ecx
41afa7:	59                   	pop    %ecx
41afa8:	e8 02 8d 02 00       	call   0x443caf
41afad:	8b f0                	mov    %eax,%esi
41afaf:	85 f6                	test   %esi,%esi
41afb1:	79 13                	jns    0x41afc6
41afb3:	56                   	push   %esi
41afb4:	68 34 01 00 a0       	push   $0xa0000134
41afb9:	57                   	push   %edi
41afba:	e8 50 a5 fe ff       	call   0x40550f
41afbf:	83 c4 0c             	add    $0xc,%esp
41afc2:	33 f6                	xor    %esi,%esi
41afc4:	eb 17                	jmp    0x41afdd
41afc6:	68 67 01 00 20       	push   $0x20000167
41afcb:	57                   	push   %edi
41afcc:	e8 3e a5 fe ff       	call   0x40550f
41afd1:	59                   	pop    %ecx
41afd2:	59                   	pop    %ecx
41afd3:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
41afd6:	75 05                	jne    0x41afdd
41afd8:	8b 45 14             	mov    0x14(%ebp),%eax
41afdb:	89 18                	mov    %ebx,(%eax)
41afdd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41afe1:	74 79                	je     0x41b05c
41afe3:	8d 45 f4             	lea    -0xc(%ebp),%eax
41afe6:	50                   	push   %eax
41afe7:	68 58 0c 45 00       	push   $0x450c58
41afec:	ff 75 08             	push   0x8(%ebp)
41afef:	e8 9a c3 fe ff       	call   0x40738e
41aff4:	85 c0                	test   %eax,%eax
41aff6:	78 62                	js     0x41b05a
41aff8:	68 68 01 00 20       	push   $0x20000168
41affd:	57                   	push   %edi
41affe:	e8 0c a5 fe ff       	call   0x40550f
41b003:	59                   	pop    %ecx
41b004:	59                   	pop    %ecx
41b005:	6a 03                	push   $0x3
41b007:	58                   	pop    %eax
41b008:	39 45 f0             	cmp    %eax,-0x10(%ebp)
41b00b:	0f 44 c3             	cmove  %ebx,%eax
41b00e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
41b012:	0f 44 c7             	cmove  %edi,%eax
41b015:	50                   	push   %eax
41b016:	ff 75 f4             	push   -0xc(%ebp)
41b019:	e8 3b 6a 02 00       	call   0x441a59
41b01e:	8b f0                	mov    %eax,%esi
41b020:	85 f6                	test   %esi,%esi
41b022:	78 10                	js     0x41b034
41b024:	68 69 01 00 20       	push   $0x20000169
41b029:	57                   	push   %edi
41b02a:	e8 e0 a4 fe ff       	call   0x40550f
41b02f:	e9 be fe ff ff       	jmp    0x41aef2
41b034:	81 fe 01 40 00 80    	cmp    $0x80004001,%esi
41b03a:	75 0f                	jne    0x41b04b
41b03c:	68 6a 01 00 20       	push   $0x2000016a
41b041:	57                   	push   %edi
41b042:	e8 c8 a4 fe ff       	call   0x40550f
41b047:	59                   	pop    %ecx
41b048:	59                   	pop    %ecx
41b049:	eb 0f                	jmp    0x41b05a
41b04b:	56                   	push   %esi
41b04c:	68 6b 01 00 a0       	push   $0xa000016b
41b051:	57                   	push   %edi
41b052:	e8 b8 a4 fe ff       	call   0x40550f
41b057:	83 c4 0c             	add    $0xc,%esp
41b05a:	33 f6                	xor    %esi,%esi
41b05c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41b060:	74 08                	je     0x41b06a
41b062:	ff 75 f4             	push   -0xc(%ebp)
41b065:	e8 85 a4 02 00       	call   0x4454ef
41b06a:	5f                   	pop    %edi
41b06b:	8b c6                	mov    %esi,%eax
41b06d:	5e                   	pop    %esi
41b06e:	5b                   	pop    %ebx
41b06f:	8b e5                	mov    %ebp,%esp
41b071:	5d                   	pop    %ebp
41b072:	c2 18 00             	ret    $0x18
41b075:	55                   	push   %ebp
41b076:	8b ec                	mov    %esp,%ebp
41b078:	83 ec 20             	sub    $0x20,%esp
41b07b:	33 c0                	xor    %eax,%eax
41b07d:	53                   	push   %ebx
41b07e:	8b 5d 14             	mov    0x14(%ebp),%ebx
41b081:	56                   	push   %esi
41b082:	57                   	push   %edi
41b083:	8b 7d 18             	mov    0x18(%ebp),%edi
41b086:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b089:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b08c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b08f:	89 45 e0             	mov    %eax,-0x20(%ebp)
41b092:	89 45 e8             	mov    %eax,-0x18(%ebp)
41b095:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b098:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b09b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b09e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b0a1:	50                   	push   %eax
41b0a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b0a5:	50                   	push   %eax
41b0a6:	57                   	push   %edi
41b0a7:	53                   	push   %ebx
41b0a8:	e8 e2 44 02 00       	call   0x43f58f
41b0ad:	8b f0                	mov    %eax,%esi
41b0af:	85 f6                	test   %esi,%esi
41b0b1:	79 0a                	jns    0x41b0bd
41b0b3:	68 44 8f 45 00       	push   $0x458f44
41b0b8:	e9 c8 01 00 00       	jmp    0x41b285
41b0bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b0c0:	85 c0                	test   %eax,%eax
41b0c2:	74 30                	je     0x41b0f4
41b0c4:	33 c9                	xor    %ecx,%ecx
41b0c6:	66 39 08             	cmp    %cx,(%eax)
41b0c9:	74 29                	je     0x41b0f4
41b0cb:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41b0ce:	51                   	push   %ecx
41b0cf:	50                   	push   %eax
41b0d0:	ff 75 08             	push   0x8(%ebp)
41b0d3:	e8 d1 0f ff ff       	call   0x40c0a9
41b0d8:	8b f0                	mov    %eax,%esi
41b0da:	85 f6                	test   %esi,%esi
41b0dc:	79 16                	jns    0x41b0f4
41b0de:	ff 75 fc             	push   -0x4(%ebp)
41b0e1:	68 60 8f 45 00       	push   $0x458f60
41b0e6:	56                   	push   %esi
41b0e7:	e8 43 50 02 00       	call   0x44012f
41b0ec:	83 c4 0c             	add    $0xc,%esp
41b0ef:	e9 99 01 00 00       	jmp    0x41b28d
41b0f4:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b0f7:	50                   	push   %eax
41b0f8:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b0fb:	50                   	push   %eax
41b0fc:	57                   	push   %edi
41b0fd:	53                   	push   %ebx
41b0fe:	e8 8c 44 02 00       	call   0x43f58f
41b103:	8b f0                	mov    %eax,%esi
41b105:	85 f6                	test   %esi,%esi
41b107:	78 aa                	js     0x41b0b3
41b109:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b10c:	85 c0                	test   %eax,%eax
41b10e:	74 24                	je     0x41b134
41b110:	33 c9                	xor    %ecx,%ecx
41b112:	66 39 08             	cmp    %cx,(%eax)
41b115:	74 1d                	je     0x41b134
41b117:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41b11a:	51                   	push   %ecx
41b11b:	50                   	push   %eax
41b11c:	ff 75 0c             	push   0xc(%ebp)
41b11f:	e8 77 2a ff ff       	call   0x40db9b
41b124:	8b f0                	mov    %eax,%esi
41b126:	85 f6                	test   %esi,%esi
41b128:	79 0a                	jns    0x41b134
41b12a:	ff 75 fc             	push   -0x4(%ebp)
41b12d:	68 80 8f 45 00       	push   $0x458f80
41b132:	eb b2                	jmp    0x41b0e6
41b134:	8d 45 fc             	lea    -0x4(%ebp),%eax
41b137:	50                   	push   %eax
41b138:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b13b:	50                   	push   %eax
41b13c:	57                   	push   %edi
41b13d:	53                   	push   %ebx
41b13e:	e8 4c 44 02 00       	call   0x43f58f
41b143:	8b f0                	mov    %eax,%esi
41b145:	85 f6                	test   %esi,%esi
41b147:	79 0a                	jns    0x41b153
41b149:	68 9c 8f 45 00       	push   $0x458f9c
41b14e:	e9 32 01 00 00       	jmp    0x41b285
41b153:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b156:	85 c0                	test   %eax,%eax
41b158:	74 27                	je     0x41b181
41b15a:	33 c9                	xor    %ecx,%ecx
41b15c:	66 39 08             	cmp    %cx,(%eax)
41b15f:	74 20                	je     0x41b181
41b161:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41b164:	51                   	push   %ecx
41b165:	50                   	push   %eax
41b166:	ff 75 10             	push   0x10(%ebp)
41b169:	e8 e9 1a ff ff       	call   0x40cc57
41b16e:	8b f0                	mov    %eax,%esi
41b170:	85 f6                	test   %esi,%esi
41b172:	79 0d                	jns    0x41b181
41b174:	ff 75 fc             	push   -0x4(%ebp)
41b177:	68 b8 8f 45 00       	push   $0x458fb8
41b17c:	e9 65 ff ff ff       	jmp    0x41b0e6
41b181:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b184:	50                   	push   %eax
41b185:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b188:	50                   	push   %eax
41b189:	57                   	push   %edi
41b18a:	53                   	push   %ebx
41b18b:	e8 ff 43 02 00       	call   0x43f58f
41b190:	8b f0                	mov    %eax,%esi
41b192:	85 f6                	test   %esi,%esi
41b194:	79 0a                	jns    0x41b1a0
41b196:	68 d4 8e 45 00       	push   $0x458ed4
41b19b:	e9 e5 00 00 00       	jmp    0x41b285
41b1a0:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b1a3:	50                   	push   %eax
41b1a4:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b1a7:	50                   	push   %eax
41b1a8:	57                   	push   %edi
41b1a9:	53                   	push   %ebx
41b1aa:	e8 e0 43 02 00       	call   0x43f58f
41b1af:	8b f0                	mov    %eax,%esi
41b1b1:	85 f6                	test   %esi,%esi
41b1b3:	79 0a                	jns    0x41b1bf
41b1b5:	68 d4 8f 45 00       	push   $0x458fd4
41b1ba:	e9 c6 00 00 00       	jmp    0x41b285
41b1bf:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b1c2:	50                   	push   %eax
41b1c3:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b1c6:	50                   	push   %eax
41b1c7:	57                   	push   %edi
41b1c8:	53                   	push   %ebx
41b1c9:	e8 66 43 02 00       	call   0x43f534
41b1ce:	8b f0                	mov    %eax,%esi
41b1d0:	85 f6                	test   %esi,%esi
41b1d2:	79 0a                	jns    0x41b1de
41b1d4:	68 f4 8f 45 00       	push   $0x458ff4
41b1d9:	e9 a7 00 00 00       	jmp    0x41b285
41b1de:	8b 45 f0             	mov    -0x10(%ebp),%eax
41b1e1:	85 c0                	test   %eax,%eax
41b1e3:	74 56                	je     0x41b23b
41b1e5:	33 c9                	xor    %ecx,%ecx
41b1e7:	66 39 08             	cmp    %cx,(%eax)
41b1ea:	74 4f                	je     0x41b23b
41b1ec:	ff 75 ec             	push   -0x14(%ebp)
41b1ef:	ff 75 f8             	push   -0x8(%ebp)
41b1f2:	50                   	push   %eax
41b1f3:	39 4d e4             	cmp    %ecx,-0x1c(%ebp)
41b1f6:	74 28                	je     0x41b220
41b1f8:	ff 75 e4             	push   -0x1c(%ebp)
41b1fb:	e8 8e f3 ff ff       	call   0x41a58e
41b200:	8b f0                	mov    %eax,%esi
41b202:	85 f6                	test   %esi,%esi
41b204:	0f 89 83 00 00 00    	jns    0x41b28d
41b20a:	ff 75 f0             	push   -0x10(%ebp)
41b20d:	ff 75 f8             	push   -0x8(%ebp)
41b210:	68 10 90 45 00       	push   $0x459010
41b215:	56                   	push   %esi
41b216:	e8 14 4f 02 00       	call   0x44012f
41b21b:	83 c4 10             	add    $0x10,%esp
41b21e:	eb 6d                	jmp    0x41b28d
41b220:	ff 75 e8             	push   -0x18(%ebp)
41b223:	e8 d5 f3 ff ff       	call   0x41a5fd
41b228:	8b f0                	mov    %eax,%esi
41b22a:	85 f6                	test   %esi,%esi
41b22c:	79 5f                	jns    0x41b28d
41b22e:	ff 75 f0             	push   -0x10(%ebp)
41b231:	ff 75 f8             	push   -0x8(%ebp)
41b234:	68 3c 90 45 00       	push   $0x45903c
41b239:	eb da                	jmp    0x41b215
41b23b:	8b 45 e0             	mov    -0x20(%ebp),%eax
41b23e:	85 c0                	test   %eax,%eax
41b240:	74 29                	je     0x41b26b
41b242:	ff 75 ec             	push   -0x14(%ebp)
41b245:	ff 75 f8             	push   -0x8(%ebp)
41b248:	ff 70 24             	push   0x24(%eax)
41b24b:	ff 75 e8             	push   -0x18(%ebp)
41b24e:	ff 70 14             	push   0x14(%eax)
41b251:	e8 43 ea ff ff       	call   0x419c99
41b256:	8b f0                	mov    %eax,%esi
41b258:	85 f6                	test   %esi,%esi