408d0a:	8b 71 04             	mov    0x4(%ecx),%esi
408d0d:	83 3e 02             	cmpl   $0x2,(%esi)
408d10:	0f 86 d0 00 00 00    	jbe    0x408de6
408d16:	8b 4d 08             	mov    0x8(%ebp),%ecx
408d19:	ba 10 1f 40 00       	mov    $0x401f10,%edx
408d1e:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
408d22:	c7 45 b0 00 00 00 01 	movl   $0x1000000,-0x50(%ebp)
408d29:	8b 41 18             	mov    0x18(%ecx),%eax
408d2c:	89 45 fc             	mov    %eax,-0x4(%ebp)
408d2f:	8b 41 24             	mov    0x24(%ecx),%eax
408d32:	89 45 f8             	mov    %eax,-0x8(%ebp)
408d35:	8b 41 08             	mov    0x8(%ecx),%eax
408d38:	89 45 f4             	mov    %eax,-0xc(%ebp)
408d3b:	8b 41 40             	mov    0x40(%ecx),%eax
408d3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
408d41:	8b 41 3c             	mov    0x3c(%ecx),%eax
408d44:	89 45 ec             	mov    %eax,-0x14(%ebp)
408d47:	8b 41 38             	mov    0x38(%ecx),%eax
408d4a:	89 45 e8             	mov    %eax,-0x18(%ebp)
408d4d:	8b 41 34             	mov    0x34(%ecx),%eax
408d50:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408d53:	8b 41 30             	mov    0x30(%ecx),%eax
408d56:	89 45 e0             	mov    %eax,-0x20(%ebp)
408d59:	8b 41 2c             	mov    0x2c(%ecx),%eax
408d5c:	89 45 dc             	mov    %eax,-0x24(%ebp)
408d5f:	8b 41 28             	mov    0x28(%ecx),%eax
408d62:	89 45 d8             	mov    %eax,-0x28(%ebp)
408d65:	8b 41 10             	mov    0x10(%ecx),%eax
408d68:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408d6b:	8b 41 0c             	mov    0xc(%ecx),%eax
408d6e:	89 45 d0             	mov    %eax,-0x30(%ebp)
408d71:	8b 01                	mov    (%ecx),%eax
408d73:	89 45 cc             	mov    %eax,-0x34(%ebp)
408d76:	8b 41 44             	mov    0x44(%ecx),%eax
408d79:	89 45 c8             	mov    %eax,-0x38(%ebp)
408d7c:	8b 41 20             	mov    0x20(%ecx),%eax
408d7f:	89 45 c4             	mov    %eax,-0x3c(%ebp)
408d82:	8b 41 1c             	mov    0x1c(%ecx),%eax
408d85:	89 45 c0             	mov    %eax,-0x40(%ebp)
408d88:	8b 41 04             	mov    0x4(%ecx),%eax
408d8b:	89 45 bc             	mov    %eax,-0x44(%ebp)
408d8e:	8d 45 b0             	lea    -0x50(%ebp),%eax
408d91:	89 45 b8             	mov    %eax,-0x48(%ebp)
408d94:	8d 45 fc             	lea    -0x4(%ebp),%eax
408d97:	50                   	push   %eax
408d98:	8d 45 f8             	lea    -0x8(%ebp),%eax
408d9b:	50                   	push   %eax
408d9c:	8d 45 f4             	lea    -0xc(%ebp),%eax
408d9f:	50                   	push   %eax
408da0:	8d 45 f0             	lea    -0x10(%ebp),%eax
408da3:	50                   	push   %eax
408da4:	8d 45 ec             	lea    -0x14(%ebp),%eax
408da7:	50                   	push   %eax
408da8:	8d 45 e8             	lea    -0x18(%ebp),%eax
408dab:	50                   	push   %eax
408dac:	8d 45 e4             	lea    -0x1c(%ebp),%eax
408daf:	50                   	push   %eax
408db0:	8d 45 e0             	lea    -0x20(%ebp),%eax
408db3:	50                   	push   %eax
408db4:	8d 45 dc             	lea    -0x24(%ebp),%eax
408db7:	50                   	push   %eax
408db8:	8d 45 d8             	lea    -0x28(%ebp),%eax
408dbb:	50                   	push   %eax
408dbc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408dbf:	50                   	push   %eax
408dc0:	8d 45 d0             	lea    -0x30(%ebp),%eax
408dc3:	50                   	push   %eax
408dc4:	8d 45 cc             	lea    -0x34(%ebp),%eax
408dc7:	50                   	push   %eax
408dc8:	8d 45 c8             	lea    -0x38(%ebp),%eax
408dcb:	50                   	push   %eax
408dcc:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408dcf:	50                   	push   %eax
408dd0:	8d 45 c0             	lea    -0x40(%ebp),%eax
408dd3:	50                   	push   %eax
408dd4:	8d 45 bc             	lea    -0x44(%ebp),%eax
408dd7:	50                   	push   %eax
408dd8:	8d 45 b8             	lea    -0x48(%ebp),%eax
408ddb:	50                   	push   %eax
408ddc:	51                   	push   %ecx
408ddd:	6a 00                	push   $0x0
408ddf:	8b ce                	mov    %esi,%ecx
408de1:	e8 a7 99 ff ff       	call   0x40278d
408de6:	5e                   	pop    %esi
408de7:	c9                   	leave
408de8:	c2 04 00             	ret    $0x4
408deb:	cc                   	int3
408dec:	cc                   	int3
408ded:	cc                   	int3
408dee:	cc                   	int3
408def:	cc                   	int3
408df0:	8b ff                	mov    %edi,%edi
408df2:	55                   	push   %ebp
408df3:	8b ec                	mov    %esp,%ebp
408df5:	a1 40 13 41 00       	mov    0x411340,%eax
408dfa:	56                   	push   %esi
408dfb:	8b 75 08             	mov    0x8(%ebp),%esi
408dfe:	57                   	push   %edi
408dff:	8b f9                	mov    %ecx,%edi
408e01:	8b 56 08             	mov    0x8(%esi),%edx
408e04:	89 15 40 13 41 00    	mov    %edx,0x411340
408e0a:	3b c2                	cmp    %edx,%eax
408e0c:	74 14                	je     0x408e22
408e0e:	8b 07                	mov    (%edi),%eax
408e10:	56                   	push   %esi
408e11:	6a 00                	push   $0x0
408e13:	8b 70 08             	mov    0x8(%eax),%esi
408e16:	8b ce                	mov    %esi,%ecx
408e18:	ff 15 18 34 43 00    	call   *0x433418
408e1e:	8b cf                	mov    %edi,%ecx
408e20:	ff d6                	call   *%esi
408e22:	5f                   	pop    %edi
408e23:	b0 01                	mov    $0x1,%al
408e25:	5e                   	pop    %esi
408e26:	5d                   	pop    %ebp
408e27:	c2 04 00             	ret    $0x4
408e2a:	cc                   	int3
408e2b:	cc                   	int3
408e2c:	cc                   	int3
408e2d:	cc                   	int3
408e2e:	cc                   	int3
408e2f:	cc                   	int3
408e30:	8b ff                	mov    %edi,%edi
408e32:	55                   	push   %ebp
408e33:	8b ec                	mov    %esp,%ebp
408e35:	56                   	push   %esi
408e36:	8b f1                	mov    %ecx,%esi
408e38:	e8 b5 fd ff ff       	call   0x408bf2
408e3d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
408e41:	74 07                	je     0x408e4a
408e43:	56                   	push   %esi
408e44:	e8 81 72 00 00       	call   0x4100ca
408e49:	59                   	pop    %ecx
408e4a:	8b c6                	mov    %esi,%eax
408e4c:	5e                   	pop    %esi
408e4d:	5d                   	pop    %ebp
408e4e:	c2 04 00             	ret    $0x4
408e51:	8b ff                	mov    %edi,%edi
408e53:	55                   	push   %ebp
408e54:	8b ec                	mov    %esp,%ebp
408e56:	83 e4 f8             	and    $0xfffffff8,%esp
408e59:	51                   	push   %ecx
408e5a:	51                   	push   %ecx
408e5b:	83 24 24 00          	andl   $0x0,(%esp)
408e5f:	8d 04 24             	lea    (%esp),%eax
408e62:	53                   	push   %ebx
408e63:	56                   	push   %esi
408e64:	50                   	push   %eax
408e65:	8d 44 24 10          	lea    0x10(%esp),%eax
408e69:	bb e4 26 43 00       	mov    $0x4326e4,%ebx
408e6e:	50                   	push   %eax
408e6f:	6a 00                	push   $0x0
408e71:	53                   	push   %ebx
408e72:	ff 15 e8 30 43 00    	call   *0x4330e8
408e78:	85 c0                	test   %eax,%eax
408e7a:	74 44                	je     0x408ec0
408e7c:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
408e81:	74 3d                	je     0x408ec0
408e83:	c7 44 24 08 e8 26 43 	movl   $0x4326e8,0x8(%esp)
408e8a:	00
408e8b:	c7 05 e8 26 43 00 58 	movl   $0x401058,0x4326e8
408e92:	10 40 00
408e95:	68 d0 8e 40 00       	push   $0x408ed0
408e9a:	c7 05 f8 26 43 00 20 	movl   $0x411020,0x4326f8
408ea1:	10 41 00
408ea4:	e8 38 78 00 00       	call   0x4106e1
408ea9:	59                   	pop    %ecx
408eaa:	be e8 26 43 00       	mov    $0x4326e8,%esi
408eaf:	8b ce                	mov    %esi,%ecx
408eb1:	e8 5c 00 00 00       	call   0x408f12
408eb6:	56                   	push   %esi
408eb7:	6a 00                	push   $0x0
408eb9:	53                   	push   %ebx
408eba:	ff 15 ec 30 43 00    	call   *0x4330ec
408ec0:	8b 44 24 08          	mov    0x8(%esp),%eax
408ec4:	5e                   	pop    %esi
408ec5:	5b                   	pop    %ebx
408ec6:	8b 40 04             	mov    0x4(%eax),%eax
408ec9:	8b e5                	mov    %ebp,%esp
408ecb:	5d                   	pop    %ebp
408ecc:	c3                   	ret
408ecd:	cc                   	int3
408ece:	cc                   	int3
408ecf:	cc                   	int3
408ed0:	8b ff                	mov    %edi,%edi
408ed2:	55                   	push   %ebp
408ed3:	8b ec                	mov    %esp,%ebp
408ed5:	51                   	push   %ecx
408ed6:	51                   	push   %ecx
408ed7:	8d 45 f8             	lea    -0x8(%ebp),%eax
408eda:	50                   	push   %eax
408edb:	8d 45 fc             	lea    -0x4(%ebp),%eax
408ede:	50                   	push   %eax
408edf:	6a 01                	push   $0x1
408ee1:	68 e4 26 43 00       	push   $0x4326e4
408ee6:	ff 15 e8 30 43 00    	call   *0x4330e8
408eec:	85 c0                	test   %eax,%eax
408eee:	74 20                	je     0x408f10
408ef0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
408ef4:	75 1a                	jne    0x408f10
408ef6:	56                   	push   %esi
408ef7:	57                   	push   %edi
408ef8:	8b 7d f8             	mov    -0x8(%ebp),%edi
408efb:	6a 00                	push   $0x0
408efd:	8b 07                	mov    (%edi),%eax
408eff:	8b 70 0c             	mov    0xc(%eax),%esi
408f02:	8b ce                	mov    %esi,%ecx
408f04:	ff 15 18 34 43 00    	call   *0x433418
408f0a:	8b cf                	mov    %edi,%ecx
408f0c:	ff d6                	call   *%esi
408f0e:	5f                   	pop    %edi
408f0f:	5e                   	pop    %esi
408f10:	c9                   	leave
408f11:	c3                   	ret
408f12:	8b ff                	mov    %edi,%edi
408f14:	55                   	push   %ebp
408f15:	8b ec                	mov    %esp,%ebp
408f17:	83 ec 18             	sub    $0x18,%esp
408f1a:	a1 64 10 41 00       	mov    0x411064,%eax
408f1f:	33 c5                	xor    %ebp,%eax
408f21:	89 45 fc             	mov    %eax,-0x4(%ebp)
408f24:	53                   	push   %ebx
408f25:	56                   	push   %esi
408f26:	8b d9                	mov    %ecx,%ebx
408f28:	57                   	push   %edi
408f29:	8d 7d ec             	lea    -0x14(%ebp),%edi
408f2c:	8b 43 10             	mov    0x10(%ebx),%eax
408f2f:	89 43 04             	mov    %eax,0x4(%ebx)
408f32:	c6 43 08 01          	movb   $0x1,0x8(%ebx)
408f36:	89 45 e8             	mov    %eax,-0x18(%ebp)
408f39:	8b 70 04             	mov    0x4(%eax),%esi
408f3c:	83 ee 10             	sub    $0x10,%esi
408f3f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408f40:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408f41:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408f42:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408f43:	83 60 20 00          	andl   $0x0,0x20(%eax)
408f47:	8d 70 18             	lea    0x18(%eax),%esi
408f4a:	83 60 24 00          	andl   $0x0,0x24(%eax)
408f4e:	56                   	push   %esi
408f4f:	50                   	push   %eax
408f50:	68 a0 24 40 00       	push   $0x4024a0
408f55:	8d 45 ec             	lea    -0x14(%ebp),%eax
408f58:	50                   	push   %eax
408f59:	ff 15 10 30 43 00    	call   *0x433010
408f5f:	85 c0                	test   %eax,%eax
408f61:	75 18                	jne    0x408f7b
408f63:	8b 4d e8             	mov    -0x18(%ebp),%ecx
408f66:	8b 49 04             	mov    0x4(%ecx),%ecx
408f69:	0f b7 01             	movzwl (%ecx),%eax
408f6c:	50                   	push   %eax
408f6d:	51                   	push   %ecx
408f6e:	6a 02                	push   $0x2
408f70:	ff 76 04             	push   0x4(%esi)
408f73:	ff 36                	push   (%esi)
408f75:	ff 15 14 30 43 00    	call   *0x433014
408f7b:	8b 03                	mov    (%ebx),%eax
408f7d:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%ebx)
408f84:	8b 70 04             	mov    0x4(%eax),%esi
408f87:	8b ce                	mov    %esi,%ecx
408f89:	ff 15 18 34 43 00    	call   *0x433418
408f8f:	8b cb                	mov    %ebx,%ecx
408f91:	ff d6                	call   *%esi
408f93:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408f96:	5f                   	pop    %edi
408f97:	5e                   	pop    %esi
408f98:	33 cd                	xor    %ebp,%ecx
408f9a:	5b                   	pop    %ebx
408f9b:	e8 90 74 00 00       	call   0x410430
408fa0:	c9                   	leave
408fa1:	c3                   	ret
408fa2:	cc                   	int3
408fa3:	cc                   	int3
408fa4:	cc                   	int3
408fa5:	cc                   	int3
408fa6:	cc                   	int3
408fa7:	cc                   	int3
408fa8:	cc                   	int3
408fa9:	cc                   	int3
408faa:	cc                   	int3
408fab:	cc                   	int3
408fac:	cc                   	int3
408fad:	cc                   	int3
408fae:	cc                   	int3
408faf:	cc                   	int3
408fb0:	8b ff                	mov    %edi,%edi
408fb2:	55                   	push   %ebp
408fb3:	8b ec                	mov    %esp,%ebp
408fb5:	51                   	push   %ecx
408fb6:	51                   	push   %ecx
408fb7:	8d 45 f8             	lea    -0x8(%ebp),%eax
408fba:	50                   	push   %eax
408fbb:	8d 45 fc             	lea    -0x4(%ebp),%eax
408fbe:	50                   	push   %eax
408fbf:	6a 01                	push   $0x1
408fc1:	68 fc 26 43 00       	push   $0x4326fc
408fc6:	ff 15 e8 30 43 00    	call   *0x4330e8
408fcc:	85 c0                	test   %eax,%eax
408fce:	74 20                	je     0x408ff0
408fd0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
408fd4:	75 1a                	jne    0x408ff0
408fd6:	56                   	push   %esi
408fd7:	57                   	push   %edi
408fd8:	8b 7d f8             	mov    -0x8(%ebp),%edi
408fdb:	6a 00                	push   $0x0
408fdd:	8b 07                	mov    (%edi),%eax
408fdf:	8b 70 0c             	mov    0xc(%eax),%esi
408fe2:	8b ce                	mov    %esi,%ecx
408fe4:	ff 15 18 34 43 00    	call   *0x433418
408fea:	8b cf                	mov    %edi,%ecx
408fec:	ff d6                	call   *%esi
408fee:	5f                   	pop    %edi
408fef:	5e                   	pop    %esi
408ff0:	c9                   	leave
408ff1:	c3                   	ret
408ff2:	8b ff                	mov    %edi,%edi
408ff4:	55                   	push   %ebp
408ff5:	8b ec                	mov    %esp,%ebp
408ff7:	83 ec 40             	sub    $0x40,%esp
408ffa:	a1 64 10 41 00       	mov    0x411064,%eax
408fff:	33 c5                	xor    %ebp,%eax
409001:	89 45 f8             	mov    %eax,-0x8(%ebp)
409004:	56                   	push   %esi
409005:	e8 47 fe ff ff       	call   0x408e51
40900a:	8b c8                	mov    %eax,%ecx
40900c:	83 39 05             	cmpl   $0x5,(%ecx)
40900f:	76 3f                	jbe    0x409050
409011:	68 00 20 00 00       	push   $0x2000
409016:	33 f6                	xor    %esi,%esi
409018:	56                   	push   %esi
409019:	e8 89 95 ff ff       	call   0x4025a7
40901e:	84 c0                	test   %al,%al
409020:	74 2e                	je     0x409050
409022:	66 8b 45 08          	mov    0x8(%ebp),%ax
409026:	66 89 45 c2          	mov    %ax,-0x3e(%ebp)
40902a:	8d 45 c2             	lea    -0x3e(%ebp),%eax
40902d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409030:	8d 45 c4             	lea    -0x3c(%ebp),%eax
409033:	50                   	push   %eax
409034:	6a 03                	push   $0x3
409036:	56                   	push   %esi
409037:	56                   	push   %esi
409038:	68 e7 1e 40 00       	push   $0x401ee7
40903d:	51                   	push   %ecx
40903e:	89 75 e8             	mov    %esi,-0x18(%ebp)
409041:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
409048:	89 75 f0             	mov    %esi,-0x10(%ebp)
40904b:	e8 cb 94 ff ff       	call   0x40251b
409050:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409053:	33 cd                	xor    %ebp,%ecx