411dbc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411dc2:	50                   	push   %eax
411dc3:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
411dc9:	a1 08 85 43 00       	mov    0x438508,%eax
411dce:	33 c5                	xor    %ebp,%eax
411dd0:	89 45 f0             	mov    %eax,-0x10(%ebp)
411dd3:	53                   	push   %ebx
411dd4:	56                   	push   %esi
411dd5:	57                   	push   %edi
411dd6:	50                   	push   %eax
411dd7:	8d 45 f4             	lea    -0xc(%ebp),%eax
411dda:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411de0:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
411de6:	8b d9                	mov    %ecx,%ebx
411de8:	89 9d d8 fe ff ff    	mov    %ebx,-0x128(%ebp)
411dee:	8b 45 0c             	mov    0xc(%ebp),%eax
411df1:	8b 75 08             	mov    0x8(%ebp),%esi
411df4:	8b 4d 28             	mov    0x28(%ebp),%ecx
411df7:	8b 7d 14             	mov    0x14(%ebp),%edi
411dfa:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
411e00:	8b 45 18             	mov    0x18(%ebp),%eax
411e03:	89 b5 20 ff ff ff    	mov    %esi,-0xe0(%ebp)
411e09:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
411e0f:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
411e16:	00 00 00
411e19:	8d 8d 1c ff ff ff    	lea    -0xe4(%ebp),%ecx
411e1f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
411e26:	51                   	push   %ecx
411e27:	51                   	push   %ecx
411e28:	85 d2                	test   %edx,%edx
411e2a:	8b cb                	mov    %ebx,%ecx
411e2c:	50                   	push   %eax
411e2d:	57                   	push   %edi
411e2e:	0f 94 c2             	sete   %dl
411e31:	e8 4c 3e 00 00       	call   0x415c82
411e36:	8b d8                	mov    %eax,%ebx
411e38:	81 fb 01 40 00 80    	cmp    $0x80004001,%ebx
411e3e:	0f 84 29 f4 00 00    	je     0x42126d
411e44:	85 db                	test   %ebx,%ebx
411e46:	78 14                	js     0x411e5c
411e48:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
411e4e:	8b 55 20             	mov    0x20(%ebp),%edx
411e51:	51                   	push   %ecx
411e52:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
411e55:	e8 86 c7 ff ff       	call   0x40e5e0
411e5a:	8b d8                	mov    %eax,%ebx
411e5c:	f7 86 5c 06 00 00 00 	testl  $0x40000,0x65c(%esi)
411e63:	00 04 00
411e66:	0f 85 08 f4 00 00    	jne    0x421274
411e6c:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
411e73:	00 00 00
411e76:	85 db                	test   %ebx,%ebx
411e78:	78 37                	js     0x411eb1
411e7a:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
411e80:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
411e86:	52                   	push   %edx
411e87:	50                   	push   %eax
411e88:	8b 08                	mov    (%eax),%ecx
411e8a:	8b 71 0c             	mov    0xc(%ecx),%esi
411e8d:	8b ce                	mov    %esi,%ecx
411e8f:	ff 15 20 a5 43 00    	call   *0x43a520
411e95:	ff d6                	call   *%esi
411e97:	8b d8                	mov    %eax,%ebx
411e99:	85 db                	test   %ebx,%ebx
411e9b:	78 14                	js     0x411eb1
411e9d:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
411ea3:	8b 55 20             	mov    0x20(%ebp),%edx
411ea6:	51                   	push   %ecx
411ea7:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
411eaa:	e8 31 c7 ff ff       	call   0x40e5e0
411eaf:	8b d8                	mov    %eax,%ebx
411eb1:	c7 85 fc fe ff ff 00 	movl   $0x0,-0x104(%ebp)
411eb8:	00 00 00
411ebb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
411ebf:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
411ec5:	8b 37                	mov    (%edi),%esi
411ec7:	50                   	push   %eax
411ec8:	68 98 40 40 00       	push   $0x404098
411ecd:	57                   	push   %edi
411ece:	8b 36                	mov    (%esi),%esi
411ed0:	8b ce                	mov    %esi,%ecx
411ed2:	ff 15 20 a5 43 00    	call   *0x43a520
411ed8:	ff d6                	call   *%esi
411eda:	33 ff                	xor    %edi,%edi
411edc:	89 bd 14 ff ff ff    	mov    %edi,-0xec(%ebp)
411ee2:	85 db                	test   %ebx,%ebx
411ee4:	0f 88 0e 07 00 00    	js     0x4125f8
411eea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
411ef0:	3b bd f8 fe ff ff    	cmp    -0x108(%ebp),%edi
411ef6:	0f 83 fc 06 00 00    	jae    0x4125f8
411efc:	81 fb 09 12 04 00    	cmp    $0x41209,%ebx
411f02:	0f 84 f0 06 00 00    	je     0x4125f8
411f08:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
411f0e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
411f11:	51                   	push   %ecx
411f12:	57                   	push   %edi
411f13:	50                   	push   %eax
411f14:	8b 30                	mov    (%eax),%esi
411f16:	8b 76 10             	mov    0x10(%esi),%esi
411f19:	8b ce                	mov    %esi,%ecx
411f1b:	ff 15 20 a5 43 00    	call   *0x43a520
411f21:	ff d6                	call   *%esi
411f23:	85 c0                	test   %eax,%eax
411f25:	0f 88 c4 07 00 00    	js     0x4126ef
411f2b:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
411f2f:	0f 84 86 07 00 00    	je     0x4126bb
411f35:	33 db                	xor    %ebx,%ebx
411f37:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
411f3d:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
411f43:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
411f47:	50                   	push   %eax
411f48:	68 bc 3f 40 00       	push   $0x403fbc
411f4d:	8d 45 dc             	lea    -0x24(%ebp),%eax
411f50:	50                   	push   %eax
411f51:	ff 15 00 d0 43 00    	call   *0x43d000
411f57:	85 c0                	test   %eax,%eax
411f59:	0f 88 d2 07 00 00    	js     0x412731
411f5f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
411f65:	8d 95 dc fe ff ff    	lea    -0x124(%ebp),%edx
411f6b:	52                   	push   %edx
411f6c:	50                   	push   %eax
411f6d:	8b 08                	mov    (%eax),%ecx
411f6f:	8b 71 60             	mov    0x60(%ecx),%esi
411f72:	8b ce                	mov    %esi,%ecx
411f74:	ff 15 20 a5 43 00    	call   *0x43a520
411f7a:	ff d6                	call   *%esi
411f7c:	85 c0                	test   %eax,%eax
411f7e:	78 0a                	js     0x411f8a
411f80:	f6 85 dc fe ff ff 03 	testb  $0x3,-0x124(%ebp)
411f87:	0f 95 c3             	setne  %bl
411f8a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
411f8e:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
411f94:	85 c0                	test   %eax,%eax
411f96:	74 10                	je     0x411fa8
411f98:	8b 08                	mov    (%eax),%ecx
411f9a:	50                   	push   %eax
411f9b:	8b 71 08             	mov    0x8(%ecx),%esi
411f9e:	8b ce                	mov    %esi,%ecx
411fa0:	ff 15 20 a5 43 00    	call   *0x43a520
411fa6:	ff d6                	call   *%esi
411fa8:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
411fac:	85 db                	test   %ebx,%ebx
411fae:	0f 84 3b 07 00 00    	je     0x4126ef
411fb4:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
411fba:	c7 85 f4 fe ff ff 01 	movl   $0x1,-0x10c(%ebp)
411fc1:	00 00 00
411fc4:	85 c0                	test   %eax,%eax
411fc6:	74 23                	je     0x411feb
411fc8:	8b 30                	mov    (%eax),%esi
411fca:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
411fd0:	51                   	push   %ecx
411fd1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
411fd4:	51                   	push   %ecx
411fd5:	8b 76 54             	mov    0x54(%esi),%esi
411fd8:	8b ce                	mov    %esi,%ecx
411fda:	50                   	push   %eax
411fdb:	ff 15 20 a5 43 00    	call   *0x43a520
411fe1:	ff d6                	call   *%esi
411fe3:	85 c0                	test   %eax,%eax
411fe5:	0f 88 4a f3 00 00    	js     0x421335
411feb:	33 c0                	xor    %eax,%eax
411fed:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
411ff3:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
411ff9:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
411fff:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
412005:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
412009:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
41200f:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
412015:	51                   	push   %ecx
412016:	8d 4d dc             	lea    -0x24(%ebp),%ecx
412019:	51                   	push   %ecx
41201a:	8b 30                	mov    (%eax),%esi
41201c:	50                   	push   %eax
41201d:	8b 76 14             	mov    0x14(%esi),%esi
412020:	8b ce                	mov    %esi,%ecx
412022:	ff 15 20 a5 43 00    	call   *0x43a520
412028:	ff d6                	call   *%esi
41202a:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41202e:	8b d8                	mov    %eax,%ebx
412030:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
412037:	00 00 00
41203a:	74 2a                	je     0x412066
41203c:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
412042:	8d 95 28 ff ff ff    	lea    -0xd8(%ebp),%edx
412048:	52                   	push   %edx
412049:	51                   	push   %ecx
41204a:	8b 01                	mov    (%ecx),%eax
41204c:	8b 70 10             	mov    0x10(%eax),%esi
41204f:	8b ce                	mov    %esi,%ecx
412051:	ff 15 20 a5 43 00    	call   *0x43a520
412057:	ff d6                	call   *%esi
412059:	83 bd 28 ff ff ff 00 	cmpl   $0x0,-0xd8(%ebp)
412060:	0f 85 e1 f2 00 00    	jne    0x421347
412066:	8b 45 1c             	mov    0x1c(%ebp),%eax
412069:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
41206d:	0f 85 e6 f2 00 00    	jne    0x421359
412073:	85 db                	test   %ebx,%ebx
412075:	0f 88 e8 f2 00 00    	js     0x421363
41207b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41207e:	3b 05 6c 4e 40 00    	cmp    0x404e6c,%eax
412084:	0f 84 6c 06 00 00    	je     0x4126f6
41208a:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
412091:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
412098:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
41209f:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4120a6:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4120ad:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4120b4:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
4120bb:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4120c2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4120c9:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4120d0:	c7 45 ac 02 00 00 00 	movl   $0x2,-0x54(%ebp)
4120d7:	c7 45 b0 02 00 00 00 	movl   $0x2,-0x50(%ebp)
4120de:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
4120e5:	ff 15 88 a1 43 00    	call   *0x43a188
4120eb:	8b 7d ec             	mov    -0x14(%ebp),%edi
4120ee:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4120f1:	83 ff 64             	cmp    $0x64,%edi
4120f4:	0f 84 8d 05 00 00    	je     0x412687
4120fa:	83 ff 06             	cmp    $0x6,%edi
4120fd:	0f 84 0d 06 00 00    	je     0x412710
412103:	8b 45 dc             	mov    -0x24(%ebp),%eax
412106:	8d 55 b8             	lea    -0x48(%ebp),%edx
412109:	89 45 b8             	mov    %eax,-0x48(%ebp)
41210c:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
412112:	8b 45 e0             	mov    -0x20(%ebp),%eax
412115:	33 db                	xor    %ebx,%ebx
412117:	89 45 bc             	mov    %eax,-0x44(%ebp)
41211a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41211d:	89 45 c0             	mov    %eax,-0x40(%ebp)
412120:	8b 45 e8             	mov    -0x18(%ebp),%eax
412123:	6a 01                	push   $0x1
412125:	89 45 c4             	mov    %eax,-0x3c(%ebp)
412128:	89 7d cc             	mov    %edi,-0x34(%ebp)
41212b:	e8 10 10 00 00       	call   0x413140
412130:	85 c0                	test   %eax,%eax
412132:	0f 84 9a 04 00 00    	je     0x4125d2
412138:	b8 03 00 00 00       	mov    $0x3,%eax
41213d:	66 3b 85 04 ff ff ff 	cmp    -0xfc(%ebp),%ax
412144:	0f 84 45 06 00 00    	je     0x41278f
41214a:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
412150:	e8 db 0e 00 00       	call   0x413030
412155:	85 c0                	test   %eax,%eax
412157:	0f 88 92 f2 00 00    	js     0x4213ef
41215d:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
412163:	33 ff                	xor    %edi,%edi
412165:	c7 85 34 ff ff ff 21 	movl   $0x21,-0xcc(%ebp)
41216c:	00 00 00
41216f:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
412175:	c7 85 2c ff ff ff 64 	movl   $0x401164,-0xd4(%ebp)
41217c:	11 40 00
41217f:	8b 82 8c 09 00 00    	mov    0x98c(%edx),%eax
412185:	89 45 a8             	mov    %eax,-0x58(%ebp)
412188:	40                   	inc    %eax
412189:	89 82 8c 09 00 00    	mov    %eax,0x98c(%edx)
41218f:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
412195:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
41219b:	33 c0                	xor    %eax,%eax
41219d:	66 89 85 3c ff ff ff 	mov    %ax,-0xc4(%ebp)
4121a4:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4121a8:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4121ab:	0f 84 50 f2 00 00    	je     0x421401
4121b1:	83 ba c4 09 00 00 00 	cmpl   $0x0,0x9c4(%edx)
4121b8:	8d b2 b8 09 00 00    	lea    0x9b8(%edx),%esi
4121be:	75 19                	jne    0x4121d9
4121c0:	8b 06                	mov    (%esi),%eax
4121c2:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4121c9:	89 46 04             	mov    %eax,0x4(%esi)
4121cc:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4121d2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4121d9:	b9 02 00 00 00       	mov    $0x2,%ecx
4121de:	33 db                	xor    %ebx,%ebx
4121e0:	89 8d 24 ff ff ff    	mov    %ecx,-0xdc(%ebp)
4121e6:	85 db                	test   %ebx,%ebx
4121e8:	0f 88 50 01 00 00    	js     0x41233e
4121ee:	8b 82 90 09 00 00    	mov    0x990(%edx),%eax
4121f4:	33 db                	xor    %ebx,%ebx
4121f6:	89 45 a0             	mov    %eax,-0x60(%ebp)
4121f9:	40                   	inc    %eax
4121fa:	89 82 90 09 00 00    	mov    %eax,0x990(%edx)
412200:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
412207:	c7 45 94 47 54 48 52 	movl   $0x52485447,-0x6c(%ebp)
41220e:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
412215:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
41221c:	39 5e 08             	cmp    %ebx,0x8(%esi)
41221f:	0f 84 12 04 00 00    	je     0x412637
412225:	89 1e                	mov    %ebx,(%esi)
412227:	8b 5e 10             	mov    0x10(%esi),%ebx
41222a:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
412230:	6a 00                	push   $0x0
412232:	6a 04                	push   $0x4
412234:	8b 03                	mov    (%ebx),%eax
412236:	8b 40 04             	mov    0x4(%eax),%eax
412239:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
41223f:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
412244:	0f 85 d4 f1 00 00    	jne    0x42141e
41224a:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
412250:	8b cb                	mov    %ebx,%ecx
412252:	50                   	push   %eax
412253:	e8 18 0b 00 00       	call   0x412d70
412258:	8b d8                	mov    %eax,%ebx
41225a:	8b 06                	mov    (%esi),%eax
41225c:	85 db                	test   %ebx,%ebx
41225e:	78 59                	js     0x4122b9
412260:	83 c0 04             	add    $0x4,%eax
412263:	89 06                	mov    %eax,(%esi)
412265:	85 db                	test   %ebx,%ebx
412267:	78 50                	js     0x4122b9
412269:	8d 48 03             	lea    0x3(%eax),%ecx
41226c:	33 db                	xor    %ebx,%ebx
41226e:	83 e1 fc             	and    $0xfffffffc,%ecx
412271:	f7 d7                	not    %edi
412273:	2b c8                	sub    %eax,%ecx
412275:	89 bd e8 fe ff ff    	mov    %edi,-0x118(%ebp)
41227b:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
412281:	0f 85 b3 f1 00 00    	jne    0x42143a
412287:	03 c1                	add    %ecx,%eax
412289:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
41228d:	89 06                	mov    %eax,(%esi)
41228f:	74 28                	je     0x4122b9
412291:	8b 7e 10             	mov    0x10(%esi),%edi
412294:	6a 00                	push   $0x0
412296:	6a 04                	push   $0x4
412298:	8b 07                	mov    (%edi),%eax
41229a:	8b 58 04             	mov    0x4(%eax),%ebx
41229d:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
4122a3:	50                   	push   %eax
4122a4:	81 fb 70 2d 41 00    	cmp    $0x412d70,%ebx
4122aa:	0f 85 c6 f1 00 00    	jne    0x421476
4122b0:	8b cf                	mov    %edi,%ecx
4122b2:	e8 b9 0a 00 00       	call   0x412d70
4122b7:	8b d8                	mov    %eax,%ebx
4122b9:	33 c0                	xor    %eax,%eax
4122bb:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4122c1:	85 db                	test   %ebx,%ebx
4122c3:	78 4e                	js     0x412313
4122c5:	8d 48 07             	lea    0x7(%eax),%ecx
4122c8:	83 e1 f8             	and    $0xfffffff8,%ecx
4122cb:	2b c8                	sub    %eax,%ecx
4122cd:	89 8d 28 ff ff ff    	mov    %ecx,-0xd8(%ebp)
4122d3:	0f 85 ae f1 00 00    	jne    0x421487
4122d9:	85 db                	test   %ebx,%ebx
4122db:	78 55                	js     0x412332
4122dd:	03 c1                	add    %ecx,%eax
4122df:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4122e3:	89 06                	mov    %eax,(%esi)
4122e5:	74 25                	je     0x41230c
4122e7:	8b 7e 10             	mov    0x10(%esi),%edi
4122ea:	6a 00                	push   $0x0
4122ec:	6a 14                	push   $0x14