40f9a1:	5e                   	pop    %esi
40f9a2:	5b                   	pop    %ebx
40f9a3:	8b e5                	mov    %ebp,%esp
40f9a5:	5d                   	pop    %ebp
40f9a6:	c2 14 00             	ret    $0x14
40f9a9:	cc                   	int3
40f9aa:	cc                   	int3
40f9ab:	cc                   	int3
40f9ac:	cc                   	int3
40f9ad:	cc                   	int3
40f9ae:	cc                   	int3
40f9af:	cc                   	int3
40f9b0:	6a 00                	push   $0x0
40f9b2:	6a 00                	push   $0x0
40f9b4:	51                   	push   %ecx
40f9b5:	ff 15 80 f0 43 00    	call   *0x43f080
40f9bb:	85 c0                	test   %eax,%eax
40f9bd:	75 13                	jne    0x40f9d2
40f9bf:	ff 15 60 f0 43 00    	call   *0x43f060
40f9c5:	85 c0                	test   %eax,%eax
40f9c7:	7e 0b                	jle    0x40f9d4
40f9c9:	0f b7 c0             	movzwl %ax,%eax
40f9cc:	0d 00 00 07 80       	or     $0x80070000,%eax
40f9d1:	c3                   	ret
40f9d2:	33 c0                	xor    %eax,%eax
40f9d4:	c3                   	ret
40f9d5:	cc                   	int3
40f9d6:	cc                   	int3
40f9d7:	cc                   	int3
40f9d8:	cc                   	int3
40f9d9:	cc                   	int3
40f9da:	cc                   	int3
40f9db:	cc                   	int3
40f9dc:	cc                   	int3
40f9dd:	cc                   	int3
40f9de:	cc                   	int3
40f9df:	cc                   	int3
40f9e0:	51                   	push   %ecx
40f9e1:	e8 2a c3 ff ff       	call   0x40bd10
40f9e6:	c3                   	ret
40f9e7:	cc                   	int3
40f9e8:	cc                   	int3
40f9e9:	cc                   	int3
40f9ea:	cc                   	int3
40f9eb:	cc                   	int3
40f9ec:	cc                   	int3
40f9ed:	cc                   	int3
40f9ee:	cc                   	int3
40f9ef:	cc                   	int3
40f9f0:	53                   	push   %ebx
40f9f1:	8b dc                	mov    %esp,%ebx
40f9f3:	83 ec 08             	sub    $0x8,%esp
40f9f6:	83 e4 f8             	and    $0xfffffff8,%esp
40f9f9:	83 c4 04             	add    $0x4,%esp
40f9fc:	55                   	push   %ebp
40f9fd:	8b 6b 04             	mov    0x4(%ebx),%ebp
40fa00:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40fa04:	8b ec                	mov    %esp,%ebp
40fa06:	6a ff                	push   $0xffffffff
40fa08:	68 e9 df 43 00       	push   $0x43dfe9
40fa0d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40fa13:	50                   	push   %eax
40fa14:	53                   	push   %ebx
40fa15:	81 ec a8 00 00 00    	sub    $0xa8,%esp
40fa1b:	a1 14 40 45 00       	mov    0x454014,%eax
40fa20:	33 c5                	xor    %ebp,%eax
40fa22:	89 45 ec             	mov    %eax,-0x14(%ebp)
40fa25:	56                   	push   %esi
40fa26:	57                   	push   %edi
40fa27:	50                   	push   %eax
40fa28:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fa2b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40fa31:	8b c1                	mov    %ecx,%eax
40fa33:	89 45 94             	mov    %eax,-0x6c(%ebp)
40fa36:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40fa39:	33 ff                	xor    %edi,%edi
40fa3b:	89 7d 90             	mov    %edi,-0x70(%ebp)
40fa3e:	8b 40 08             	mov    0x8(%eax),%eax
40fa41:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
40fa44:	8b 4b 08             	mov    0x8(%ebx),%ecx
40fa47:	85 c0                	test   %eax,%eax
40fa49:	75 3e                	jne    0x40fa89
40fa4b:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fa51:	85 f6                	test   %esi,%esi
40fa53:	74 2b                	je     0x40fa80
40fa55:	51                   	push   %ecx
40fa56:	68 d8 de 44 00       	push   $0x44ded8
40fa5b:	68 2c af 44 00       	push   $0x44af2c
40fa60:	68 2c af 44 00       	push   $0x44af2c
40fa65:	68 6c df 44 00       	push   $0x44df6c
40fa6a:	68 90 df 44 00       	push   $0x44df90
40fa6f:	6a 1e                	push   $0x1e
40fa71:	8b ce                	mov    %esi,%ecx
40fa73:	ff 15 3c f2 43 00    	call   *0x43f23c
40fa79:	ff d6                	call   *%esi
40fa7b:	83 c4 1c             	add    $0x1c,%esp
40fa7e:	eb 2e                	jmp    0x40faae
40fa80:	a1 b4 61 45 00       	mov    0x4561b4,%eax
40fa85:	85 c0                	test   %eax,%eax
40fa87:	74 30                	je     0x40fab9
40fa89:	8b 30                	mov    (%eax),%esi
40fa8b:	51                   	push   %ecx
40fa8c:	68 d8 de 44 00       	push   $0x44ded8
40fa91:	68 6c df 44 00       	push   $0x44df6c
40fa96:	8b 76 34             	mov    0x34(%esi),%esi
40fa99:	8b ce                	mov    %esi,%ecx
40fa9b:	68 2c af 44 00       	push   $0x44af2c
40faa0:	6a 1e                	push   $0x1e
40faa2:	50                   	push   %eax
40faa3:	ff 15 3c f2 43 00    	call   *0x43f23c
40faa9:	ff d6                	call   *%esi
40faab:	83 c4 18             	add    $0x18,%esp
40faae:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fab4:	a1 b4 61 45 00       	mov    0x4561b4,%eax
40fab9:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
40fabc:	8b 53 08             	mov    0x8(%ebx),%edx
40fabf:	8b 49 08             	mov    0x8(%ecx),%ecx
40fac2:	85 d2                	test   %edx,%edx
40fac4:	7f 7f                	jg     0x40fb45
40fac6:	85 c9                	test   %ecx,%ecx
40fac8:	74 17                	je     0x40fae1
40faca:	8b 31                	mov    (%ecx),%esi
40facc:	52                   	push   %edx
40facd:	68 a8 df 44 00       	push   $0x44dfa8
40fad2:	68 6c df 44 00       	push   $0x44df6c
40fad7:	68 2c af 44 00       	push   $0x44af2c
40fadc:	6a 32                	push   $0x32
40fade:	51                   	push   %ecx
40fadf:	eb 4d                	jmp    0x40fb2e
40fae1:	85 f6                	test   %esi,%esi
40fae3:	74 30                	je     0x40fb15
40fae5:	52                   	push   %edx
40fae6:	68 a8 df 44 00       	push   $0x44dfa8
40faeb:	68 2c af 44 00       	push   $0x44af2c
40faf0:	68 2c af 44 00       	push   $0x44af2c
40faf5:	68 6c df 44 00       	push   $0x44df6c
40fafa:	68 90 df 44 00       	push   $0x44df90
40faff:	6a 32                	push   $0x32
40fb01:	8b ce                	mov    %esi,%ecx
40fb03:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb09:	ff d6                	call   *%esi
40fb0b:	83 c4 1c             	add    $0x1c,%esp
40fb0e:	32 c0                	xor    %al,%al
40fb10:	e9 60 0a 00 00       	jmp    0x410575
40fb15:	85 c0                	test   %eax,%eax
40fb17:	74 25                	je     0x40fb3e
40fb19:	8b 30                	mov    (%eax),%esi
40fb1b:	52                   	push   %edx
40fb1c:	68 a8 df 44 00       	push   $0x44dfa8
40fb21:	68 6c df 44 00       	push   $0x44df6c
40fb26:	68 2c af 44 00       	push   $0x44af2c
40fb2b:	6a 32                	push   $0x32
40fb2d:	50                   	push   %eax
40fb2e:	8b 76 34             	mov    0x34(%esi),%esi
40fb31:	8b ce                	mov    %esi,%ecx
40fb33:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb39:	ff d6                	call   *%esi
40fb3b:	83 c4 18             	add    $0x18,%esp
40fb3e:	32 c0                	xor    %al,%al
40fb40:	e9 30 0a 00 00       	jmp    0x410575
40fb45:	85 c9                	test   %ecx,%ecx
40fb47:	74 1b                	je     0x40fb64
40fb49:	8b 45 8c             	mov    -0x74(%ebp),%eax
40fb4c:	8b 31                	mov    (%ecx),%esi
40fb4e:	ff 30                	push   (%eax)
40fb50:	68 48 e0 44 00       	push   $0x44e048
40fb55:	68 6c df 44 00       	push   $0x44df6c
40fb5a:	68 2c af 44 00       	push   $0x44af2c
40fb5f:	6a 14                	push   $0x14
40fb61:	51                   	push   %ecx
40fb62:	eb 50                	jmp    0x40fbb4
40fb64:	85 f6                	test   %esi,%esi
40fb66:	74 2f                	je     0x40fb97
40fb68:	8b 45 8c             	mov    -0x74(%ebp),%eax
40fb6b:	8b ce                	mov    %esi,%ecx
40fb6d:	ff 30                	push   (%eax)
40fb6f:	68 48 e0 44 00       	push   $0x44e048
40fb74:	68 2c af 44 00       	push   $0x44af2c
40fb79:	68 2c af 44 00       	push   $0x44af2c
40fb7e:	68 6c df 44 00       	push   $0x44df6c
40fb83:	68 90 df 44 00       	push   $0x44df90
40fb88:	6a 14                	push   $0x14
40fb8a:	ff 15 3c f2 43 00    	call   *0x43f23c
40fb90:	ff d6                	call   *%esi
40fb92:	83 c4 1c             	add    $0x1c,%esp
40fb95:	eb 2d                	jmp    0x40fbc4
40fb97:	85 c0                	test   %eax,%eax
40fb99:	74 2c                	je     0x40fbc7
40fb9b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40fb9e:	8b 30                	mov    (%eax),%esi
40fba0:	ff 31                	push   (%ecx)
40fba2:	68 48 e0 44 00       	push   $0x44e048
40fba7:	68 6c df 44 00       	push   $0x44df6c
40fbac:	68 2c af 44 00       	push   $0x44af2c
40fbb1:	6a 14                	push   $0x14
40fbb3:	50                   	push   %eax
40fbb4:	8b 76 34             	mov    0x34(%esi),%esi
40fbb7:	8b ce                	mov    %esi,%ecx
40fbb9:	ff 15 3c f2 43 00    	call   *0x43f23c
40fbbf:	ff d6                	call   *%esi
40fbc1:	83 c4 18             	add    $0x18,%esp
40fbc4:	8b 53 08             	mov    0x8(%ebx),%edx
40fbc7:	b8 01 00 00 00       	mov    $0x1,%eax
40fbcc:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
40fbd2:	3b d0                	cmp    %eax,%edx
40fbd4:	0f 8e 99 09 00 00    	jle    0x410573
40fbda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
40fbe0:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
40fbe3:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40fbea:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40fbf1:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40fbf8:	8b 14 81             	mov    (%ecx,%eax,4),%edx
40fbfb:	8b ca                	mov    %edx,%ecx
40fbfd:	8d 71 02             	lea    0x2(%ecx),%esi
40fc00:	66 8b 01             	mov    (%ecx),%ax
40fc03:	83 c1 02             	add    $0x2,%ecx
40fc06:	66 85 c0             	test   %ax,%ax
40fc09:	75 f5                	jne    0x40fc00
40fc0b:	2b ce                	sub    %esi,%ecx
40fc0d:	d1 f9                	sar    $1,%ecx
40fc0f:	51                   	push   %ecx
40fc10:	52                   	push   %edx
40fc11:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40fc14:	e8 f7 28 ff ff       	call   0x402510
40fc19:	8b 45 94             	mov    -0x6c(%ebp),%eax
40fc1c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fc23:	8b 48 08             	mov    0x8(%eax),%ecx
40fc26:	85 c9                	test   %ecx,%ecx
40fc28:	75 4a                	jne    0x40fc74
40fc2a:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
40fc30:	85 f6                	test   %esi,%esi
40fc32:	74 36                	je     0x40fc6a
40fc34:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fc38:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fc3b:	8b ce                	mov    %esi,%ecx
40fc3d:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fc41:	50                   	push   %eax
40fc42:	68 14 e1 44 00       	push   $0x44e114
40fc47:	68 2c af 44 00       	push   $0x44af2c
40fc4c:	68 2c af 44 00       	push   $0x44af2c
40fc51:	68 6c df 44 00       	push   $0x44df6c
40fc56:	68 90 df 44 00       	push   $0x44df90
40fc5b:	6a 14                	push   $0x14
40fc5d:	ff 15 3c f2 43 00    	call   *0x43f23c
40fc63:	ff d6                	call   *%esi
40fc65:	83 c4 1c             	add    $0x1c,%esp
40fc68:	eb 3a                	jmp    0x40fca4
40fc6a:	8b 0d b4 61 45 00    	mov    0x4561b4,%ecx
40fc70:	85 c9                	test   %ecx,%ecx
40fc72:	74 30                	je     0x40fca4
40fc74:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fc78:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fc7b:	8b 31                	mov    (%ecx),%esi
40fc7d:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fc81:	50                   	push   %eax
40fc82:	68 14 e1 44 00       	push   $0x44e114
40fc87:	8b 76 34             	mov    0x34(%esi),%esi
40fc8a:	68 6c df 44 00       	push   $0x44df6c
40fc8f:	68 2c af 44 00       	push   $0x44af2c
40fc94:	6a 14                	push   $0x14
40fc96:	51                   	push   %ecx
40fc97:	8b ce                	mov    %esi,%ecx
40fc99:	ff 15 3c f2 43 00    	call   *0x43f23c
40fc9f:	ff d6                	call   *%esi
40fca1:	83 c4 18             	add    $0x18,%esp
40fca4:	b9 04 00 00 00       	mov    $0x4,%ecx
40fca9:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
40fcb0:	00 00 00
40fcb3:	39 4d cc             	cmp    %ecx,-0x34(%ebp)
40fcb6:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fcb9:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
40fcc0:	0f 42 4d cc          	cmovb  -0x34(%ebp),%ecx
40fcc4:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fcc8:	51                   	push   %ecx
40fcc9:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fccd:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40fcd3:	50                   	push   %eax
40fcd4:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
40fcdb:	e8 30 28 ff ff       	call   0x402510
40fce0:	8b 45 88             	mov    -0x78(%ebp),%eax
40fce3:	8d b5 74 ff ff ff    	lea    -0x8c(%ebp),%esi
40fce9:	8b 55 84             	mov    -0x7c(%ebp),%edx
40fcec:	83 cf 04             	or     $0x4,%edi
40fcef:	83 f8 08             	cmp    $0x8,%eax
40fcf2:	89 7d 9c             	mov    %edi,-0x64(%ebp)
40fcf5:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
40fcfb:	0f 93 45 9b          	setae  -0x65(%ebp)
40fcff:	0f 43 f7             	cmovae %edi,%esi
40fd02:	83 fa 04             	cmp    $0x4,%edx
40fd05:	75 28                	jne    0x40fd2f
40fd07:	b9 48 e1 44 00       	mov    $0x44e148,%ecx
40fd0c:	85 d2                	test   %edx,%edx
40fd0e:	74 16                	je     0x40fd26
40fd10:	2b f1                	sub    %ecx,%esi
40fd12:	66 8b 04 31          	mov    (%ecx,%esi,1),%ax
40fd16:	66 3b 01             	cmp    (%ecx),%ax
40fd19:	75 11                	jne    0x40fd2c
40fd1b:	83 c1 02             	add    $0x2,%ecx
40fd1e:	83 ea 01             	sub    $0x1,%edx
40fd21:	75 ef                	jne    0x40fd12
40fd23:	8b 45 88             	mov    -0x78(%ebp),%eax
40fd26:	c6 45 a3 01          	movb   $0x1,-0x5d(%ebp)
40fd2a:	eb 07                	jmp    0x40fd33
40fd2c:	8b 45 88             	mov    -0x78(%ebp),%eax
40fd2f:	c6 45 a3 00          	movb   $0x0,-0x5d(%ebp)
40fd33:	80 7d 9b 00          	cmpb   $0x0,-0x65(%ebp)
40fd37:	74 2f                	je     0x40fd68
40fd39:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40fd40:	8b c7                	mov    %edi,%eax
40fd42:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40fd48:	72 14                	jb     0x40fd5e
40fd4a:	8b 78 fc             	mov    -0x4(%eax),%edi
40fd4d:	83 c1 23             	add    $0x23,%ecx
40fd50:	2b c7                	sub    %edi,%eax
40fd52:	83 c0 fc             	add    $0xfffffffc,%eax
40fd55:	83 f8 1f             	cmp    $0x1f,%eax
40fd58:	0f 87 37 08 00 00    	ja     0x410595
40fd5e:	51                   	push   %ecx
40fd5f:	57                   	push   %edi
40fd60:	e8 a9 bb 00 00       	call   0x41b90e
40fd65:	83 c4 08             	add    $0x8,%esp
40fd68:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
40fd6c:	0f 85 ab 07 00 00    	jne    0x41051d
40fd72:	51                   	push   %ecx
40fd73:	68 54 e1 44 00       	push   $0x44e154
40fd78:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40fd7b:	e8 00 0a 00 00       	call   0x410780
40fd80:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40fd83:	8b f0                	mov    %eax,%esi
40fd85:	83 fe ff             	cmp    $0xffffffff,%esi
40fd88:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
40fd8f:	8d 45 bc             	lea    -0x44(%ebp),%eax
40fd92:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40fd99:	0f 44 f1             	cmove  %ecx,%esi
40fd9c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40fda3:	3b ce                	cmp    %esi,%ecx
40fda5:	8b d6                	mov    %esi,%edx
40fda7:	0f 42 d1             	cmovb  %ecx,%edx
40fdaa:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
40fdae:	52                   	push   %edx
40fdaf:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
40fdb3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40fdb6:	50                   	push   %eax
40fdb7:	e8 54 27 ff ff       	call   0x402510
40fdbc:	8b 45 9c             	mov    -0x64(%ebp),%eax
40fdbf:	83 c8 10             	or     $0x10,%eax
40fdc2:	89 45 9c             	mov    %eax,-0x64(%ebp)
40fdc5:	89 45 90             	mov    %eax,-0x70(%ebp)
40fdc8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40fdcc:	8b 45 cc             	mov    -0x34(%ebp),%eax