410d21:	6a 0c                	push   $0xc
410d23:	8b 46 24             	mov    0x24(%esi),%eax
410d26:	8d 5e 20             	lea    0x20(%esi),%ebx
410d29:	40                   	inc    %eax
410d2a:	50                   	push   %eax
410d2b:	53                   	push   %ebx
410d2c:	e8 c5 2b ff ff       	call   0x4038f6
410d31:	8b f8                	mov    %eax,%edi
410d33:	85 ff                	test   %edi,%edi
410d35:	79 0f                	jns    0x410d46
410d37:	68 58 38 45 00       	push   $0x453858
410d3c:	57                   	push   %edi
410d3d:	e8 ed f3 02 00       	call   0x44012f
410d42:	59                   	pop    %ecx
410d43:	59                   	pop    %ecx
410d44:	eb 3b                	jmp    0x410d81
410d46:	6b 4e 24 0c          	imul   $0xc,0x24(%esi),%ecx
410d4a:	8b 45 0c             	mov    0xc(%ebp),%eax
410d4d:	6a 00                	push   $0x0
410d4f:	ff 75 14             	push   0x14(%ebp)
410d52:	03 0b                	add    (%ebx),%ecx
410d54:	8b 5d 10             	mov    0x10(%ebp),%ebx
410d57:	89 01                	mov    %eax,(%ecx)
410d59:	8d 41 08             	lea    0x8(%ecx),%eax
410d5c:	50                   	push   %eax
410d5d:	89 59 04             	mov    %ebx,0x4(%ecx)
410d60:	e8 40 14 ff ff       	call   0x4021a5
410d65:	8b f8                	mov    %eax,%edi
410d67:	85 ff                	test   %edi,%edi
410d69:	79 07                	jns    0x410d72
410d6b:	68 94 38 45 00       	push   $0x453894
410d70:	eb ca                	jmp    0x410d3c
410d72:	ff 46 24             	incl   0x24(%esi)
410d75:	8b 43 10             	mov    0x10(%ebx),%eax
410d78:	01 46 10             	add    %eax,0x10(%esi)
410d7b:	8b 43 14             	mov    0x14(%ebx),%eax
410d7e:	11 46 14             	adc    %eax,0x14(%esi)
410d81:	8b c7                	mov    %edi,%eax
410d83:	5f                   	pop    %edi
410d84:	5e                   	pop    %esi
410d85:	5b                   	pop    %ebx
410d86:	5d                   	pop    %ebp
410d87:	c2 10 00             	ret    $0x10
410d8a:	55                   	push   %ebp
410d8b:	8b ec                	mov    %esp,%ebp
410d8d:	56                   	push   %esi
410d8e:	57                   	push   %edi
410d8f:	8b 7d 08             	mov    0x8(%ebp),%edi
410d92:	6a 05                	push   $0x5
410d94:	6a 0c                	push   $0xc
410d96:	8b 47 40             	mov    0x40(%edi),%eax
410d99:	8d 4f 3c             	lea    0x3c(%edi),%ecx
410d9c:	40                   	inc    %eax
410d9d:	50                   	push   %eax
410d9e:	51                   	push   %ecx
410d9f:	e8 52 2b ff ff       	call   0x4038f6
410da4:	8b f0                	mov    %eax,%esi
410da6:	85 f6                	test   %esi,%esi
410da8:	79 12                	jns    0x410dbc
410daa:	68 58 32 45 00       	push   $0x453258
410daf:	56                   	push   %esi
410db0:	e8 7a f3 02 00       	call   0x44012f
410db5:	59                   	pop    %ecx
410db6:	59                   	pop    %ecx
410db7:	e9 ba 00 00 00       	jmp    0x410e76
410dbc:	8b 47 40             	mov    0x40(%edi),%eax
410dbf:	53                   	push   %ebx
410dc0:	6b d8 0c             	imul   $0xc,%eax,%ebx
410dc3:	6a 00                	push   $0x0
410dc5:	ff 75 14             	push   0x14(%ebp)
410dc8:	03 5f 3c             	add    0x3c(%edi),%ebx
410dcb:	40                   	inc    %eax
410dcc:	89 47 40             	mov    %eax,0x40(%edi)
410dcf:	8b 45 0c             	mov    0xc(%ebp),%eax
410dd2:	89 03                	mov    %eax,(%ebx)
410dd4:	8d 43 04             	lea    0x4(%ebx),%eax
410dd7:	50                   	push   %eax
410dd8:	e8 c8 13 ff ff       	call   0x4021a5
410ddd:	8b f0                	mov    %eax,%esi
410ddf:	85 f6                	test   %esi,%esi
410de1:	79 0a                	jns    0x410ded
410de3:	68 90 32 45 00       	push   $0x453290
410de8:	e9 80 00 00 00       	jmp    0x410e6d
410ded:	6a 00                	push   $0x0
410def:	ff 75 10             	push   0x10(%ebp)
410df2:	8d 43 08             	lea    0x8(%ebx),%eax
410df5:	50                   	push   %eax
410df6:	e8 aa 13 ff ff       	call   0x4021a5
410dfb:	8b f0                	mov    %eax,%esi
410dfd:	85 f6                	test   %esi,%esi
410dff:	79 07                	jns    0x410e08
410e01:	68 c4 32 45 00       	push   $0x4532c4
410e06:	eb 65                	jmp    0x410e6d
410e08:	8b 47 48             	mov    0x48(%edi),%eax
410e0b:	8d 4f 44             	lea    0x44(%edi),%ecx
410e0e:	6a 05                	push   $0x5
410e10:	6a 0c                	push   $0xc
410e12:	40                   	inc    %eax
410e13:	50                   	push   %eax
410e14:	51                   	push   %ecx
410e15:	e8 dc 2a ff ff       	call   0x4038f6
410e1a:	8b f0                	mov    %eax,%esi
410e1c:	85 f6                	test   %esi,%esi
410e1e:	79 07                	jns    0x410e27
410e20:	68 04 33 45 00       	push   $0x453304
410e25:	eb 46                	jmp    0x410e6d
410e27:	8b 47 48             	mov    0x48(%edi),%eax
410e2a:	6b d8 0c             	imul   $0xc,%eax,%ebx
410e2d:	6a 00                	push   $0x0
410e2f:	ff 75 14             	push   0x14(%ebp)
410e32:	03 5f 44             	add    0x44(%edi),%ebx
410e35:	40                   	inc    %eax
410e36:	89 47 48             	mov    %eax,0x48(%edi)
410e39:	33 c0                	xor    %eax,%eax
410e3b:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
410e3f:	0f 94 c0             	sete   %al
410e42:	40                   	inc    %eax
410e43:	89 03                	mov    %eax,(%ebx)
410e45:	8d 43 04             	lea    0x4(%ebx),%eax
410e48:	50                   	push   %eax
410e49:	e8 57 13 ff ff       	call   0x4021a5
410e4e:	8b f0                	mov    %eax,%esi
410e50:	85 f6                	test   %esi,%esi
410e52:	78 8f                	js     0x410de3
410e54:	6a 00                	push   $0x0
410e56:	ff 75 10             	push   0x10(%ebp)
410e59:	8d 43 08             	lea    0x8(%ebx),%eax
410e5c:	50                   	push   %eax
410e5d:	e8 43 13 ff ff       	call   0x4021a5
410e62:	8b f0                	mov    %eax,%esi
410e64:	85 f6                	test   %esi,%esi
410e66:	79 0d                	jns    0x410e75
410e68:	68 48 33 45 00       	push   $0x453348
410e6d:	56                   	push   %esi
410e6e:	e8 bc f2 02 00       	call   0x44012f
410e73:	59                   	pop    %ecx
410e74:	59                   	pop    %ecx
410e75:	5b                   	pop    %ebx
410e76:	5f                   	pop    %edi
410e77:	8b c6                	mov    %esi,%eax
410e79:	5e                   	pop    %esi
410e7a:	5d                   	pop    %ebp
410e7b:	c2 10 00             	ret    $0x10
410e7e:	55                   	push   %ebp
410e7f:	8b ec                	mov    %esp,%ebp
410e81:	53                   	push   %ebx
410e82:	56                   	push   %esi
410e83:	57                   	push   %edi
410e84:	8b 7d 08             	mov    0x8(%ebp),%edi
410e87:	33 f6                	xor    %esi,%esi
410e89:	8b de                	mov    %esi,%ebx
410e8b:	39 77 50             	cmp    %esi,0x50(%edi)
410e8e:	76 5a                	jbe    0x410eea
410e90:	8b ce                	mov    %esi,%ecx
410e92:	89 75 08             	mov    %esi,0x8(%ebp)
410e95:	8b 47 4c             	mov    0x4c(%edi),%eax
410e98:	83 3c 08 04          	cmpl   $0x4,(%eax,%ecx,1)
410e9c:	75 1d                	jne    0x410ebb
410e9e:	8b 44 08 08          	mov    0x8(%eax,%ecx,1),%eax
410ea2:	6a ff                	push   $0xffffffff
410ea4:	ff 75 0c             	push   0xc(%ebp)
410ea7:	6a ff                	push   $0xffffffff
410ea9:	ff 30                	push   (%eax)
410eab:	56                   	push   %esi
410eac:	56                   	push   %esi
410ead:	ff 15 28 b1 44 00    	call   *0x44b128
410eb3:	83 f8 02             	cmp    $0x2,%eax
410eb6:	74 11                	je     0x410ec9
410eb8:	8b 4d 08             	mov    0x8(%ebp),%ecx
410ebb:	43                   	inc    %ebx
410ebc:	83 c1 28             	add    $0x28,%ecx
410ebf:	89 4d 08             	mov    %ecx,0x8(%ebp)
410ec2:	3b 5f 50             	cmp    0x50(%edi),%ebx
410ec5:	72 ce                	jb     0x410e95
410ec7:	eb 21                	jmp    0x410eea
410ec9:	8d 43 01             	lea    0x1(%ebx),%eax
410ecc:	3b 47 50             	cmp    0x50(%edi),%eax
410ecf:	73 16                	jae    0x410ee7
410ed1:	8b 47 4c             	mov    0x4c(%edi),%eax
410ed4:	6b cb 28             	imul   $0x28,%ebx,%ecx
410ed7:	83 7c 01 28 06       	cmpl   $0x6,0x28(%ecx,%eax,1)
410edc:	75 09                	jne    0x410ee7
410ede:	8b 4c 01 30          	mov    0x30(%ecx,%eax,1),%ecx
410ee2:	8b 45 10             	mov    0x10(%ebp),%eax
410ee5:	89 08                	mov    %ecx,(%eax)
410ee7:	33 f6                	xor    %esi,%esi
410ee9:	46                   	inc    %esi
410eea:	5f                   	pop    %edi
410eeb:	8b c6                	mov    %esi,%eax
410eed:	5e                   	pop    %esi
410eee:	5b                   	pop    %ebx
410eef:	5d                   	pop    %ebp
410ef0:	c2 0c 00             	ret    $0xc
410ef3:	55                   	push   %ebp
410ef4:	8b ec                	mov    %esp,%ebp
410ef6:	53                   	push   %ebx
410ef7:	56                   	push   %esi
410ef8:	8b 75 08             	mov    0x8(%ebp),%esi
410efb:	57                   	push   %edi
410efc:	6a 05                	push   $0x5
410efe:	6a 28                	push   $0x28
410f00:	8b 46 50             	mov    0x50(%esi),%eax
410f03:	8d 5e 4c             	lea    0x4c(%esi),%ebx
410f06:	40                   	inc    %eax
410f07:	50                   	push   %eax
410f08:	53                   	push   %ebx
410f09:	e8 e8 29 ff ff       	call   0x4038f6
410f0e:	8b f8                	mov    %eax,%edi
410f10:	85 ff                	test   %edi,%edi
410f12:	79 0f                	jns    0x410f23
410f14:	68 58 34 45 00       	push   $0x453458
410f19:	57                   	push   %edi
410f1a:	e8 10 f2 02 00       	call   0x44012f
410f1f:	59                   	pop    %ecx
410f20:	59                   	pop    %ecx
410f21:	eb 0e                	jmp    0x410f31
410f23:	6b 4e 50 28          	imul   $0x28,0x50(%esi),%ecx
410f27:	8b 45 0c             	mov    0xc(%ebp),%eax
410f2a:	03 0b                	add    (%ebx),%ecx
410f2c:	89 08                	mov    %ecx,(%eax)
410f2e:	ff 46 50             	incl   0x50(%esi)
410f31:	8b c7                	mov    %edi,%eax
410f33:	5f                   	pop    %edi
410f34:	5e                   	pop    %esi
410f35:	5b                   	pop    %ebx
410f36:	5d                   	pop    %ebp
410f37:	c2 08 00             	ret    $0x8
410f3a:	55                   	push   %ebp
410f3b:	8b ec                	mov    %esp,%ebp
410f3d:	83 ec 0c             	sub    $0xc,%esp
410f40:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
410f44:	8d 45 fc             	lea    -0x4(%ebp),%eax
410f47:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
410f4b:	53                   	push   %ebx
410f4c:	8b 5d 14             	mov    0x14(%ebp),%ebx
410f4f:	56                   	push   %esi
410f50:	57                   	push   %edi
410f51:	8b 7d 08             	mov    0x8(%ebp),%edi
410f54:	50                   	push   %eax
410f55:	53                   	push   %ebx
410f56:	c7 45 f4 00 00 00 80 	movl   $0x80000000,-0xc(%ebp)
410f5d:	ff 77 04             	push   0x4(%edi)
410f60:	e8 94 89 00 00       	call   0x4198f9
410f65:	8b f0                	mov    %eax,%esi
410f67:	85 f6                	test   %esi,%esi
410f69:	79 12                	jns    0x410f7d
410f6b:	68 90 35 45 00       	push   $0x453590
410f70:	56                   	push   %esi
410f71:	e8 b9 f1 02 00       	call   0x44012f
410f76:	59                   	pop    %ecx
410f77:	59                   	pop    %ecx
410f78:	e9 12 02 00 00       	jmp    0x41118f
410f7d:	83 7b 3c 00          	cmpl   $0x0,0x3c(%ebx)
410f81:	0f 84 f5 00 00 00    	je     0x41107c
410f87:	33 c9                	xor    %ecx,%ecx
410f89:	89 4d 14             	mov    %ecx,0x14(%ebp)
410f8c:	89 4d 08             	mov    %ecx,0x8(%ebp)
410f8f:	39 4d 18             	cmp    %ecx,0x18(%ebp)
410f92:	75 34                	jne    0x410fc8
410f94:	51                   	push   %ecx
410f95:	8d 45 14             	lea    0x14(%ebp),%eax
410f98:	50                   	push   %eax
410f99:	ff 75 10             	push   0x10(%ebp)
410f9c:	51                   	push   %ecx
410f9d:	ff 73 3c             	push   0x3c(%ebx)
410fa0:	57                   	push   %edi
410fa1:	6a 08                	push   $0x8
410fa3:	e8 55 06 00 00       	call   0x4115fd
410fa8:	85 c0                	test   %eax,%eax
410faa:	74 1c                	je     0x410fc8
410fac:	ff 75 fc             	push   -0x4(%ebp)
410faf:	53                   	push   %ebx
410fb0:	ff 75 0c             	push   0xc(%ebp)
410fb3:	ff 75 14             	push   0x14(%ebp)
410fb6:	e8 5b fd ff ff       	call   0x410d16
410fbb:	8b f0                	mov    %eax,%esi
410fbd:	85 f6                	test   %esi,%esi
410fbf:	79 07                	jns    0x410fc8
410fc1:	68 c4 35 45 00       	push   $0x4535c4
410fc6:	eb a8                	jmp    0x410f70
410fc8:	8d 45 f4             	lea    -0xc(%ebp),%eax
410fcb:	50                   	push   %eax
410fcc:	8d 45 08             	lea    0x8(%ebp),%eax
410fcf:	50                   	push   %eax
410fd0:	68 00 00 00 80       	push   $0x80000000
410fd5:	ff 75 10             	push   0x10(%ebp)
410fd8:	ff 73 3c             	push   0x3c(%ebx)
410fdb:	57                   	push   %edi
410fdc:	6a 08                	push   $0x8
410fde:	e8 1a 06 00 00       	call   0x4115fd
410fe3:	85 c0                	test   %eax,%eax
410fe5:	74 3a                	je     0x411021
410fe7:	8d 45 14             	lea    0x14(%ebp),%eax
410fea:	c7 45 14 00 00 00 80 	movl   $0x80000000,0x14(%ebp)
410ff1:	50                   	push   %eax
410ff2:	8b 45 f4             	mov    -0xc(%ebp),%eax
410ff5:	6a 00                	push   $0x0
410ff7:	50                   	push   %eax
410ff8:	ff 75 10             	push   0x10(%ebp)
410ffb:	89 45 18             	mov    %eax,0x18(%ebp)
410ffe:	ff 73 3c             	push   0x3c(%ebx)
411001:	57                   	push   %edi
411002:	6a 07                	push   $0x7
411004:	e8 f4 05 00 00       	call   0x4115fd
411009:	85 c0                	test   %eax,%eax
41100b:	74 06                	je     0x411013
41100d:	8b 45 14             	mov    0x14(%ebp),%eax
411010:	89 45 18             	mov    %eax,0x18(%ebp)
411013:	85 f6                	test   %esi,%esi
411015:	79 42                	jns    0x411059
411017:	68 2c 36 45 00       	push   $0x45362c
41101c:	e9 4f ff ff ff       	jmp    0x410f70
411021:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
411025:	8d 45 f4             	lea    -0xc(%ebp),%eax
411028:	50                   	push   %eax
411029:	8d 45 08             	lea    0x8(%ebp),%eax
41102c:	50                   	push   %eax
41102d:	8b 45 18             	mov    0x18(%ebp),%eax
411030:	6a 01                	push   $0x1
411032:	59                   	pop    %ecx
411033:	0f 45 c1             	cmovne %ecx,%eax
411036:	50                   	push   %eax
411037:	ff 75 10             	push   0x10(%ebp)
41103a:	ff 73 3c             	push   0x3c(%ebx)
41103d:	57                   	push   %edi
41103e:	e8 31 03 00 00       	call   0x411374
411043:	8b f0                	mov    %eax,%esi
411045:	85 f6                	test   %esi,%esi
411047:	79 0a                	jns    0x411053
411049:	68 00 36 45 00       	push   $0x453600
41104e:	e9 1d ff ff ff       	jmp    0x410f70
411053:	8b 45 f4             	mov    -0xc(%ebp),%eax
411056:	89 45 18             	mov    %eax,0x18(%ebp)
411059:	ff 75 fc             	push   -0x4(%ebp)
41105c:	53                   	push   %ebx
41105d:	ff 75 0c             	push   0xc(%ebp)
411060:	ff 75 08             	push   0x8(%ebp)
411063:	e8 ae fc ff ff       	call   0x410d16
411068:	8b f0                	mov    %eax,%esi
41106a:	85 f6                	test   %esi,%esi
41106c:	0f 89 82 00 00 00    	jns    0x4110f4
411072:	68 6c 36 45 00       	push   $0x45366c
411077:	e9 f4 fe ff ff       	jmp    0x410f70
41107c:	53                   	push   %ebx
41107d:	57                   	push   %edi
41107e:	e8 90 09 00 00       	call   0x411a13
411083:	8b d8                	mov    %eax,%ebx
411085:	89 5d f8             	mov    %ebx,-0x8(%ebp)
411088:	85 db                	test   %ebx,%ebx
41108a:	75 53                	jne    0x4110df