410dcb:	ff 15 c8 60 41 00    	call   *0x4160c8
410dd1:	5e                   	pop    %esi
410dd2:	89 1d fc 51 41 00    	mov    %ebx,0x4151fc
410dd8:	5b                   	pop    %ebx
410dd9:	33 c0                	xor    %eax,%eax
410ddb:	5f                   	pop    %edi
410ddc:	c3                   	ret
410ddd:	b9 8c 00 00 c0       	mov    $0xc000008c,%ecx
410de2:	e8 ea 3d ff ff       	call   0x404bd1
410de7:	cc                   	int3
410de8:	a1 1c 52 41 00       	mov    0x41521c,%eax
410ded:	85 c0                	test   %eax,%eax
410def:	74 0f                	je     0x410e00
410df1:	50                   	push   %eax
410df2:	ff 15 bc 62 41 00    	call   *0x4162bc
410df8:	83 25 1c 52 41 00 00 	andl   $0x0,0x41521c
410dff:	59                   	pop    %ecx
410e00:	83 25 20 52 41 00 00 	andl   $0x0,0x415220
410e07:	83 25 24 52 41 00 00 	andl   $0x0,0x415224
410e0e:	c3                   	ret
410e0f:	8b ff                	mov    %edi,%edi
410e11:	55                   	push   %ebp
410e12:	8b ec                	mov    %esp,%ebp
410e14:	83 ec 1c             	sub    $0x1c,%esp
410e17:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410e1c:	33 c5                	xor    %ebp,%eax
410e1e:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e21:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
410e25:	8d 45 e4             	lea    -0x1c(%ebp),%eax
410e28:	57                   	push   %edi
410e29:	50                   	push   %eax
410e2a:	6a fe                	push   $0xfffffffe
410e2c:	bf c8 30 40 00       	mov    $0x4030c8,%edi
410e31:	5a                   	pop    %edx
410e32:	8b cf                	mov    %edi,%ecx
410e34:	e8 0e c7 ff ff       	call   0x40d547
410e39:	85 c0                	test   %eax,%eax
410e3b:	78 35                	js     0x410e72
410e3d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
410e40:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
410e44:	83 c0 02             	add    $0x2,%eax
410e47:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
410e4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
410e4e:	8d 45 e8             	lea    -0x18(%ebp),%eax
410e51:	50                   	push   %eax
410e52:	6a 01                	push   $0x1
410e54:	68 28 2c 40 00       	push   $0x402c28
410e59:	ff 35 4c 56 41 00    	push   0x41564c
410e5f:	89 7d e8             	mov    %edi,-0x18(%ebp)
410e62:	ff 35 48 56 41 00    	push   0x415648
410e68:	ff 15 98 60 41 00    	call   *0x416098
410e6e:	85 c0                	test   %eax,%eax
410e70:	74 05                	je     0x410e77
410e72:	b8 05 40 00 80       	mov    $0x80004005,%eax
410e77:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410e7a:	33 cd                	xor    %ebp,%ecx
410e7c:	5f                   	pop    %edi
410e7d:	e8 6e 11 00 00       	call   0x411ff0
410e82:	c9                   	leave
410e83:	c2 08 00             	ret    $0x8
410e86:	8b ff                	mov    %edi,%edi
410e88:	55                   	push   %ebp
410e89:	8b ec                	mov    %esp,%ebp
410e8b:	83 ec 40             	sub    $0x40,%esp
410e8e:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410e93:	33 c5                	xor    %ebp,%eax
410e95:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e98:	56                   	push   %esi
410e99:	8b 75 0c             	mov    0xc(%ebp),%esi
410e9c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
410e9f:	57                   	push   %edi
410ea0:	50                   	push   %eax
410ea1:	6a fe                	push   $0xfffffffe
410ea3:	33 ff                	xor    %edi,%edi
410ea5:	8b ce                	mov    %esi,%ecx
410ea7:	5a                   	pop    %edx
410ea8:	89 7d c4             	mov    %edi,-0x3c(%ebp)
410eab:	e8 97 c6 ff ff       	call   0x40d547
410eb0:	85 c0                	test   %eax,%eax
410eb2:	78 54                	js     0x410f08
410eb4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
410eb7:	83 c0 02             	add    $0x2,%eax
410eba:	89 75 c8             	mov    %esi,-0x38(%ebp)
410ebd:	89 45 d0             	mov    %eax,-0x30(%ebp)
410ec0:	8d 45 10             	lea    0x10(%ebp),%eax
410ec3:	6a 04                	push   $0x4
410ec5:	59                   	pop    %ecx
410ec6:	89 45 d8             	mov    %eax,-0x28(%ebp)
410ec9:	8d 45 14             	lea    0x14(%ebp),%eax
410ecc:	89 45 e8             	mov    %eax,-0x18(%ebp)
410ecf:	8d 45 c8             	lea    -0x38(%ebp),%eax
410ed2:	50                   	push   %eax
410ed3:	6a 03                	push   $0x3
410ed5:	68 08 2c 40 00       	push   $0x402c08
410eda:	ff 35 4c 56 41 00    	push   0x41564c
410ee0:	89 7d cc             	mov    %edi,-0x34(%ebp)
410ee3:	ff 35 48 56 41 00    	push   0x415648
410ee9:	89 7d d4             	mov    %edi,-0x2c(%ebp)
410eec:	89 7d dc             	mov    %edi,-0x24(%ebp)
410eef:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410ef2:	89 7d e4             	mov    %edi,-0x1c(%ebp)
410ef5:	89 7d ec             	mov    %edi,-0x14(%ebp)
410ef8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410efb:	89 7d f4             	mov    %edi,-0xc(%ebp)
410efe:	ff 15 98 60 41 00    	call   *0x416098
410f04:	85 c0                	test   %eax,%eax
410f06:	74 05                	je     0x410f0d
410f08:	b8 05 40 00 80       	mov    $0x80004005,%eax
410f0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410f10:	5f                   	pop    %edi
410f11:	33 cd                	xor    %ebp,%ecx
410f13:	5e                   	pop    %esi
410f14:	e8 d7 10 00 00       	call   0x411ff0
410f19:	c9                   	leave
410f1a:	c2 10 00             	ret    $0x10
410f1d:	8b ff                	mov    %edi,%edi
410f1f:	55                   	push   %ebp
410f20:	8b ec                	mov    %esp,%ebp
410f22:	83 ec 30             	sub    $0x30,%esp
410f25:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410f2a:	33 c5                	xor    %ebp,%eax
410f2c:	89 45 f8             	mov    %eax,-0x8(%ebp)
410f2f:	53                   	push   %ebx
410f30:	56                   	push   %esi
410f31:	8b 75 10             	mov    0x10(%ebp),%esi
410f34:	8d 45 d0             	lea    -0x30(%ebp),%eax
410f37:	57                   	push   %edi
410f38:	8b 7d 08             	mov    0x8(%ebp),%edi
410f3b:	33 db                	xor    %ebx,%ebx
410f3d:	50                   	push   %eax
410f3e:	6a fe                	push   $0xfffffffe
410f40:	5a                   	pop    %edx
410f41:	8b ce                	mov    %esi,%ecx
410f43:	89 5d d0             	mov    %ebx,-0x30(%ebp)
410f46:	e8 fc c5 ff ff       	call   0x40d547
410f4b:	85 c0                	test   %eax,%eax
410f4d:	78 42                	js     0x410f91
410f4f:	8d 45 0c             	lea    0xc(%ebp),%eax
410f52:	89 5d d8             	mov    %ebx,-0x28(%ebp)
410f55:	89 45 d4             	mov    %eax,-0x2c(%ebp)
410f58:	8b 45 d0             	mov    -0x30(%ebp),%eax
410f5b:	83 c0 02             	add    $0x2,%eax
410f5e:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
410f65:	89 45 ec             	mov    %eax,-0x14(%ebp)
410f68:	8d 45 d4             	lea    -0x2c(%ebp),%eax
410f6b:	50                   	push   %eax
410f6c:	6a 02                	push   $0x2
410f6e:	57                   	push   %edi
410f6f:	ff 35 4c 56 41 00    	push   0x41564c
410f75:	89 5d e0             	mov    %ebx,-0x20(%ebp)
410f78:	ff 35 48 56 41 00    	push   0x415648
410f7e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410f81:	89 5d e8             	mov    %ebx,-0x18(%ebp)
410f84:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410f87:	ff 15 98 60 41 00    	call   *0x416098
410f8d:	85 c0                	test   %eax,%eax
410f8f:	74 05                	je     0x410f96
410f91:	b8 05 40 00 80       	mov    $0x80004005,%eax
410f96:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410f99:	5f                   	pop    %edi
410f9a:	5e                   	pop    %esi
410f9b:	33 cd                	xor    %ebp,%ecx
410f9d:	5b                   	pop    %ebx
410f9e:	e8 4d 10 00 00       	call   0x411ff0
410fa3:	c9                   	leave
410fa4:	c2 0c 00             	ret    $0xc
410fa7:	8b ff                	mov    %edi,%edi
410fa9:	55                   	push   %ebp
410faa:	8b ec                	mov    %esp,%ebp
410fac:	6a 00                	push   $0x0
410fae:	6a 00                	push   $0x0
410fb0:	ff 75 08             	push   0x8(%ebp)
410fb3:	ff 35 4c 56 41 00    	push   0x41564c
410fb9:	ff 35 48 56 41 00    	push   0x415648
410fbf:	ff 15 98 60 41 00    	call   *0x416098
410fc5:	f7 d8                	neg    %eax
410fc7:	1b c0                	sbb    %eax,%eax
410fc9:	25 05 40 00 80       	and    $0x80004005,%eax
410fce:	5d                   	pop    %ebp
410fcf:	c2 04 00             	ret    $0x4
410fd2:	8b ff                	mov    %edi,%edi
410fd4:	55                   	push   %ebp
410fd5:	8b ec                	mov    %esp,%ebp
410fd7:	81 ec 58 02 00 00    	sub    $0x258,%esp
410fdd:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410fe2:	33 c5                	xor    %ebp,%eax
410fe4:	89 45 f8             	mov    %eax,-0x8(%ebp)
410fe7:	53                   	push   %ebx
410fe8:	56                   	push   %esi
410fe9:	8b 75 14             	mov    0x14(%ebp),%esi
410fec:	33 c0                	xor    %eax,%eax
410fee:	57                   	push   %edi
410fef:	8b 7d 0c             	mov    0xc(%ebp),%edi
410ff2:	bb 00 01 00 00       	mov    $0x100,%ebx
410ff7:	53                   	push   %ebx
410ff8:	50                   	push   %eax
410ff9:	89 85 b0 fd ff ff    	mov    %eax,-0x250(%ebp)
410fff:	89 85 ac fd ff ff    	mov    %eax,-0x254(%ebp)
411005:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41100b:	50                   	push   %eax
41100c:	e8 e0 1a 00 00       	call   0x412af1
411011:	53                   	push   %ebx
411012:	33 db                	xor    %ebx,%ebx
411014:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41101a:	53                   	push   %ebx
41101b:	50                   	push   %eax
41101c:	e8 d0 1a 00 00       	call   0x412af1
411021:	ff 75 10             	push   0x10(%ebp)
411024:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41102a:	68 1c 45 40 00       	push   $0x40451c
41102f:	68 80 00 00 00       	push   $0x80
411034:	50                   	push   %eax
411035:	e8 98 a0 ff ff       	call   0x40b0d2
41103a:	8b 45 18             	mov    0x18(%ebp),%eax
41103d:	83 c4 28             	add    $0x28,%esp
411040:	85 c0                	test   %eax,%eax
411042:	75 09                	jne    0x41104d
411044:	ff 15 68 61 41 00    	call   *0x416168
41104a:	89 45 18             	mov    %eax,0x18(%ebp)
41104d:	50                   	push   %eax
41104e:	68 24 45 40 00       	push   $0x404524
411053:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
411059:	68 80 00 00 00       	push   $0x80
41105e:	50                   	push   %eax
41105f:	e8 6e a0 ff ff       	call   0x40b0d2
411064:	83 c4 10             	add    $0x10,%esp
411067:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
41106d:	8b cf                	mov    %edi,%ecx
41106f:	50                   	push   %eax
411070:	6a fe                	push   $0xfffffffe
411072:	5a                   	pop    %edx
411073:	e8 cf c4 ff ff       	call   0x40d547
411078:	85 c0                	test   %eax,%eax
41107a:	0f 88 b7 00 00 00    	js     0x411137
411080:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
411086:	8b ce                	mov    %esi,%ecx
411088:	50                   	push   %eax
411089:	6a fe                	push   $0xfffffffe
41108b:	5a                   	pop    %edx
41108c:	e8 b6 c4 ff ff       	call   0x40d547
411091:	85 c0                	test   %eax,%eax
411093:	0f 88 9e 00 00 00    	js     0x411137
411099:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
41109f:	83 c0 02             	add    $0x2,%eax
4110a2:	89 bd b4 fd ff ff    	mov    %edi,-0x24c(%ebp)
4110a8:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
4110ae:	8d 45 10             	lea    0x10(%ebp),%eax
4110b1:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
4110b7:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
4110bd:	83 c0 02             	add    $0x2,%eax
4110c0:	89 9d b8 fd ff ff    	mov    %ebx,-0x248(%ebp)
4110c6:	6a 04                	push   $0x4
4110c8:	59                   	pop    %ecx
4110c9:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
4110cf:	8d 45 18             	lea    0x18(%ebp),%eax
4110d2:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
4110d8:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4110de:	50                   	push   %eax
4110df:	51                   	push   %ecx
4110e0:	68 78 2c 40 00       	push   $0x402c78
4110e5:	ff 35 4c 56 41 00    	push   0x41564c
4110eb:	89 9d c0 fd ff ff    	mov    %ebx,-0x240(%ebp)
4110f1:	ff 35 48 56 41 00    	push   0x415648
4110f7:	89 9d c8 fd ff ff    	mov    %ebx,-0x238(%ebp)
4110fd:	89 8d cc fd ff ff    	mov    %ecx,-0x234(%ebp)
411103:	89 9d d0 fd ff ff    	mov    %ebx,-0x230(%ebp)
411109:	89 b5 d4 fd ff ff    	mov    %esi,-0x22c(%ebp)
41110f:	89 9d d8 fd ff ff    	mov    %ebx,-0x228(%ebp)
411115:	89 9d e0 fd ff ff    	mov    %ebx,-0x220(%ebp)
41111b:	89 9d e8 fd ff ff    	mov    %ebx,-0x218(%ebp)
411121:	89 8d ec fd ff ff    	mov    %ecx,-0x214(%ebp)
411127:	89 9d f0 fd ff ff    	mov    %ebx,-0x210(%ebp)
41112d:	ff 15 98 60 41 00    	call   *0x416098
411133:	85 c0                	test   %eax,%eax
411135:	74 05                	je     0x41113c
411137:	b8 05 40 00 80       	mov    $0x80004005,%eax
41113c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41113f:	5f                   	pop    %edi
411140:	5e                   	pop    %esi
411141:	33 cd                	xor    %ebp,%ecx
411143:	5b                   	pop    %ebx
411144:	e8 a7 0e 00 00       	call   0x411ff0
411149:	c9                   	leave
41114a:	c2 14 00             	ret    $0x14
41114d:	8b ff                	mov    %edi,%edi
41114f:	55                   	push   %ebp
411150:	8b ec                	mov    %esp,%ebp
411152:	83 ec 10             	sub    $0x10,%esp
411155:	53                   	push   %ebx
411156:	56                   	push   %esi
411157:	57                   	push   %edi
411158:	6a 04                	push   $0x4
41115a:	5b                   	pop    %ebx
41115b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41115e:	89 5d f0             	mov    %ebx,-0x10(%ebp)
411161:	50                   	push   %eax
411162:	33 f6                	xor    %esi,%esi
411164:	8b fa                	mov    %edx,%edi
411166:	6a 01                	push   $0x1
411168:	56                   	push   %esi
411169:	68 30 45 40 00       	push   $0x404530
41116e:	68 02 00 00 80       	push   $0x80000002
411173:	89 75 fc             	mov    %esi,-0x4(%ebp)
411176:	89 75 f8             	mov    %esi,-0x8(%ebp)
411179:	89 75 f4             	mov    %esi,-0xc(%ebp)
41117c:	ff 15 04 60 41 00    	call   *0x416004
411182:	85 c0                	test   %eax,%eax
411184:	74 11                	je     0x411197
411186:	7f 04                	jg     0x41118c
411188:	8b f0                	mov    %eax,%esi
41118a:	eb 32                	jmp    0x4111be
41118c:	0f b7 f0             	movzwl %ax,%esi
41118f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
411195:	eb 27                	jmp    0x4111be
411197:	8d 45 f8             	lea    -0x8(%ebp),%eax
41119a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41119d:	50                   	push   %eax
41119e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4111a1:	50                   	push   %eax
4111a2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4111a5:	50                   	push   %eax
4111a6:	56                   	push   %esi
4111a7:	68 58 34 40 00       	push   $0x403458
4111ac:	ff 75 fc             	push   -0x4(%ebp)
4111af:	ff 15 1c 60 41 00    	call   *0x41601c
4111b5:	85 c0                	test   %eax,%eax
4111b7:	75 cd                	jne    0x411186
4111b9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4111bc:	89 07                	mov    %eax,(%edi)
4111be:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4111c2:	74 09                	je     0x4111cd
4111c4:	ff 75 fc             	push   -0x4(%ebp)
4111c7:	ff 15 18 60 41 00    	call   *0x416018
4111cd:	5f                   	pop    %edi
4111ce:	8b c6                	mov    %esi,%eax
4111d0:	5e                   	pop    %esi
4111d1:	5b                   	pop    %ebx
4111d2:	c9                   	leave
4111d3:	c2 04 00             	ret    $0x4
4111d6:	8b ff                	mov    %edi,%edi
4111d8:	55                   	push   %ebp
4111d9:	8b ec                	mov    %esp,%ebp
4111db:	83 ec 18             	sub    $0x18,%esp
4111de:	53                   	push   %ebx
4111df:	56                   	push   %esi
4111e0:	8b da                	mov    %edx,%ebx
4111e2:	8b f1                	mov    %ecx,%esi
4111e4:	33 d2                	xor    %edx,%edx
4111e6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4111e9:	57                   	push   %edi