40cb37:	eb 02                	jmp    0x40cb3b
40cb39:	33 db                	xor    %ebx,%ebx
40cb3b:	85 db                	test   %ebx,%ebx
40cb3d:	74 3b                	je     0x40cb7a
40cb3f:	8b 4e 04             	mov    0x4(%esi),%ecx
40cb42:	ba cf 00 00 00       	mov    $0xcf,%edx
40cb47:	57                   	push   %edi
40cb48:	53                   	push   %ebx
40cb49:	e8 37 30 00 00       	call   0x40fb85
40cb4e:	8b 13                	mov    (%ebx),%edx
40cb50:	8b f8                	mov    %eax,%edi
40cb52:	6a 01                	push   $0x1
40cb54:	8b 32                	mov    (%edx),%esi
40cb56:	8b ce                	mov    %esi,%ecx
40cb58:	ff 15 90 b3 41 00    	call   *0x41b390
40cb5e:	8b cb                	mov    %ebx,%ecx
40cb60:	ff d6                	call   *%esi
40cb62:	33 db                	xor    %ebx,%ebx
40cb64:	43                   	inc    %ebx
40cb65:	3b fb                	cmp    %ebx,%edi
40cb67:	5f                   	pop    %edi
40cb68:	75 10                	jne    0x40cb7a
40cb6a:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cb6d:	6a 05                	push   $0x5
40cb6f:	8b 4e 0c             	mov    0xc(%esi),%ecx
40cb72:	e8 68 24 00 00       	call   0x40efdf
40cb77:	89 5e 10             	mov    %ebx,0x10(%esi)
40cb7a:	5e                   	pop    %esi
40cb7b:	5b                   	pop    %ebx
40cb7c:	c9                   	leave
40cb7d:	c3                   	ret
40cb7e:	cc                   	int3
40cb7f:	cc                   	int3
40cb80:	8b ff                	mov    %edi,%edi
40cb82:	55                   	push   %ebp
40cb83:	8b ec                	mov    %esp,%ebp
40cb85:	8b 45 08             	mov    0x8(%ebp),%eax
40cb88:	56                   	push   %esi
40cb89:	57                   	push   %edi
40cb8a:	8b f9                	mov    %ecx,%edi
40cb8c:	33 c9                	xor    %ecx,%ecx
40cb8e:	83 f8 50             	cmp    $0x50,%eax
40cb91:	77 79                	ja     0x40cc0c
40cb93:	74 70                	je     0x40cc05
40cb95:	83 e8 10             	sub    $0x10,%eax
40cb98:	74 58                	je     0x40cbf2
40cb9a:	83 e8 1b             	sub    $0x1b,%eax
40cb9d:	74 38                	je     0x40cbd7
40cb9f:	83 e8 01             	sub    $0x1,%eax
40cba2:	74 2c                	je     0x40cbd0
40cba4:	48                   	dec    %eax
40cba5:	83 e8 01             	sub    $0x1,%eax
40cba8:	74 1f                	je     0x40cbc9
40cbaa:	83 e8 20             	sub    $0x20,%eax
40cbad:	0f 85 b1 00 00 00    	jne    0x40cc64
40cbb3:	8b 07                	mov    (%edi),%eax
40cbb5:	ff 75 10             	push   0x10(%ebp)
40cbb8:	8b 70 14             	mov    0x14(%eax),%esi
40cbbb:	8b ce                	mov    %esi,%ecx
40cbbd:	ff 15 90 b3 41 00    	call   *0x41b390
40cbc3:	8b cf                	mov    %edi,%ecx
40cbc5:	ff d6                	call   *%esi
40cbc7:	eb 25                	jmp    0x40cbee
40cbc9:	8b 07                	mov    (%edi),%eax
40cbcb:	8b 70 28             	mov    0x28(%eax),%esi
40cbce:	eb 0c                	jmp    0x40cbdc
40cbd0:	8b 07                	mov    (%edi),%eax
40cbd2:	8b 70 1c             	mov    0x1c(%eax),%esi
40cbd5:	eb 05                	jmp    0x40cbdc
40cbd7:	8b 07                	mov    (%edi),%eax
40cbd9:	8b 70 18             	mov    0x18(%eax),%esi
40cbdc:	ff 75 10             	push   0x10(%ebp)
40cbdf:	8b ce                	mov    %esi,%ecx
40cbe1:	ff 75 0c             	push   0xc(%ebp)
40cbe4:	ff 15 90 b3 41 00    	call   *0x41b390
40cbea:	8b cf                	mov    %edi,%ecx
40cbec:	ff d6                	call   *%esi
40cbee:	8b c8                	mov    %eax,%ecx
40cbf0:	eb 72                	jmp    0x40cc64
40cbf2:	8b 07                	mov    (%edi),%eax
40cbf4:	8b 70 10             	mov    0x10(%eax),%esi
40cbf7:	8b ce                	mov    %esi,%ecx
40cbf9:	ff 15 90 b3 41 00    	call   *0x41b390
40cbff:	8b cf                	mov    %edi,%ecx
40cc01:	ff d6                	call   *%esi
40cc03:	eb e9                	jmp    0x40cbee
40cc05:	8b 07                	mov    (%edi),%eax
40cc07:	8b 70 24             	mov    0x24(%eax),%esi
40cc0a:	eb d0                	jmp    0x40cbdc
40cc0c:	2d 10 01 00 00       	sub    $0x110,%eax
40cc11:	74 3a                	je     0x40cc4d
40cc13:	83 e8 01             	sub    $0x1,%eax
40cc16:	74 2e                	je     0x40cc46
40cc18:	48                   	dec    %eax
40cc19:	83 e8 01             	sub    $0x1,%eax
40cc1c:	74 1b                	je     0x40cc39
40cc1e:	2d ed 00 00 00       	sub    $0xed,%eax
40cc23:	74 0d                	je     0x40cc32
40cc25:	48                   	dec    %eax
40cc26:	83 e8 01             	sub    $0x1,%eax
40cc29:	75 39                	jne    0x40cc64
40cc2b:	8b 07                	mov    (%edi),%eax
40cc2d:	8b 70 34             	mov    0x34(%eax),%esi
40cc30:	eb aa                	jmp    0x40cbdc
40cc32:	8b 07                	mov    (%edi),%eax
40cc34:	8b 70 30             	mov    0x30(%eax),%esi
40cc37:	eb a3                	jmp    0x40cbdc
40cc39:	8b 07                	mov    (%edi),%eax
40cc3b:	ff 75 0c             	push   0xc(%ebp)
40cc3e:	8b 70 2c             	mov    0x2c(%eax),%esi
40cc41:	e9 75 ff ff ff       	jmp    0x40cbbb
40cc46:	8b 07                	mov    (%edi),%eax
40cc48:	8b 70 0c             	mov    0xc(%eax),%esi
40cc4b:	eb 8f                	jmp    0x40cbdc
40cc4d:	8b 07                	mov    (%edi),%eax
40cc4f:	ff 75 10             	push   0x10(%ebp)
40cc52:	8b 70 08             	mov    0x8(%eax),%esi
40cc55:	8b ce                	mov    %esi,%ecx
40cc57:	ff 15 90 b3 41 00    	call   *0x41b390
40cc5d:	8b cf                	mov    %edi,%ecx
40cc5f:	ff d6                	call   *%esi
40cc61:	33 c9                	xor    %ecx,%ecx
40cc63:	41                   	inc    %ecx
40cc64:	5f                   	pop    %edi
40cc65:	8b c1                	mov    %ecx,%eax
40cc67:	5e                   	pop    %esi
40cc68:	5d                   	pop    %ebp
40cc69:	c2 0c 00             	ret    $0xc
40cc6c:	8b ff                	mov    %edi,%edi
40cc6e:	55                   	push   %ebp
40cc6f:	8b ec                	mov    %esp,%ebp
40cc71:	ff 75 0c             	push   0xc(%ebp)
40cc74:	ff 75 08             	push   0x8(%ebp)
40cc77:	ff 71 04             	push   0x4(%ecx)
40cc7a:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40cc80:	50                   	push   %eax
40cc81:	ff 15 dc b1 41 00    	call   *0x41b1dc
40cc87:	5d                   	pop    %ebp
40cc88:	c2 08 00             	ret    $0x8
40cc8b:	8b ff                	mov    %edi,%edi
40cc8d:	55                   	push   %ebp
40cc8e:	8b ec                	mov    %esp,%ebp
40cc90:	ff 75 0c             	push   0xc(%ebp)
40cc93:	6a 00                	push   $0x0
40cc95:	68 43 01 00 00       	push   $0x143
40cc9a:	ff 75 08             	push   0x8(%ebp)
40cc9d:	ff 71 04             	push   0x4(%ecx)
40cca0:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40cca6:	50                   	push   %eax
40cca7:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ccad:	5d                   	pop    %ebp
40ccae:	c2 08 00             	ret    $0x8
40ccb1:	8b ff                	mov    %edi,%edi
40ccb3:	55                   	push   %ebp
40ccb4:	8b ec                	mov    %esp,%ebp
40ccb6:	6a 00                	push   $0x0
40ccb8:	ff 75 0c             	push   0xc(%ebp)
40ccbb:	68 4e 01 00 00       	push   $0x14e
40ccc0:	ff 75 08             	push   0x8(%ebp)
40ccc3:	ff 71 04             	push   0x4(%ecx)
40ccc6:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40cccc:	50                   	push   %eax
40cccd:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ccd3:	5d                   	pop    %ebp
40ccd4:	c2 08 00             	ret    $0x8
40ccd7:	8b ff                	mov    %edi,%edi
40ccd9:	55                   	push   %ebp
40ccda:	8b ec                	mov    %esp,%ebp
40ccdc:	6a 00                	push   $0x0
40ccde:	6a 00                	push   $0x0
40cce0:	68 47 01 00 00       	push   $0x147
40cce5:	ff 75 08             	push   0x8(%ebp)
40cce8:	ff 71 04             	push   0x4(%ecx)
40cceb:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40ccf1:	50                   	push   %eax
40ccf2:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ccf8:	5d                   	pop    %ebp
40ccf9:	c2 04 00             	ret    $0x4
40ccfc:	8b ff                	mov    %edi,%edi
40ccfe:	55                   	push   %ebp
40ccff:	8b ec                	mov    %esp,%ebp
40cd01:	33 c0                	xor    %eax,%eax
40cd03:	39 45 0c             	cmp    %eax,0xc(%ebp)
40cd06:	6a 00                	push   $0x0
40cd08:	0f 95 c0             	setne  %al
40cd0b:	50                   	push   %eax
40cd0c:	68 f1 00 00 00       	push   $0xf1
40cd11:	ff 75 08             	push   0x8(%ebp)
40cd14:	ff 71 04             	push   0x4(%ecx)
40cd17:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40cd1d:	50                   	push   %eax
40cd1e:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40cd24:	5d                   	pop    %ebp
40cd25:	c2 08 00             	ret    $0x8
40cd28:	8b ff                	mov    %edi,%edi
40cd2a:	55                   	push   %ebp
40cd2b:	8b ec                	mov    %esp,%ebp
40cd2d:	6a 00                	push   $0x0
40cd2f:	6a 00                	push   $0x0
40cd31:	68 f0 00 00 00       	push   $0xf0
40cd36:	ff 75 08             	push   0x8(%ebp)
40cd39:	ff 71 04             	push   0x4(%ecx)
40cd3c:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40cd42:	50                   	push   %eax
40cd43:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40cd49:	5d                   	pop    %ebp
40cd4a:	c2 04 00             	ret    $0x4
40cd4d:	cc                   	int3
40cd4e:	cc                   	int3
40cd4f:	cc                   	int3
40cd50:	8b ff                	mov    %edi,%edi
40cd52:	55                   	push   %ebp
40cd53:	8b ec                	mov    %esp,%ebp
40cd55:	53                   	push   %ebx
40cd56:	8b d9                	mov    %ecx,%ebx
40cd58:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cd5b:	56                   	push   %esi
40cd5c:	57                   	push   %edi
40cd5d:	81 79 08 36 ff ff ff 	cmpl   $0xffffff36,0x8(%ecx)
40cd64:	74 33                	je     0x40cd99
40cd66:	81 79 08 37 ff ff ff 	cmpl   $0xffffff37,0x8(%ecx)
40cd6d:	74 14                	je     0x40cd83
40cd6f:	81 79 08 38 ff ff ff 	cmpl   $0xffffff38,0x8(%ecx)
40cd76:	74 04                	je     0x40cd7c
40cd78:	33 ff                	xor    %edi,%edi
40cd7a:	eb 4f                	jmp    0x40cdcb
40cd7c:	8b 03                	mov    (%ebx),%eax
40cd7e:	8b 70 40             	mov    0x40(%eax),%esi
40cd81:	eb 05                	jmp    0x40cd88
40cd83:	8b 03                	mov    (%ebx),%eax
40cd85:	8b 70 3c             	mov    0x3c(%eax),%esi
40cd88:	51                   	push   %ecx
40cd89:	8b ce                	mov    %esi,%ecx
40cd8b:	ff 15 90 b3 41 00    	call   *0x41b390
40cd91:	8b cb                	mov    %ebx,%ecx
40cd93:	ff d6                	call   *%esi
40cd95:	8b f8                	mov    %eax,%edi
40cd97:	eb 32                	jmp    0x40cdcb
40cd99:	8b 03                	mov    (%ebx),%eax
40cd9b:	51                   	push   %ecx
40cd9c:	8b 70 38             	mov    0x38(%eax),%esi
40cd9f:	8b ce                	mov    %esi,%ecx
40cda1:	ff 15 90 b3 41 00    	call   *0x41b390
40cda7:	8b cb                	mov    %ebx,%ecx
40cda9:	ff d6                	call   *%esi
40cdab:	8b f8                	mov    %eax,%edi
40cdad:	85 ff                	test   %edi,%edi
40cdaf:	75 1a                	jne    0x40cdcb
40cdb1:	8b 0d 40 50 41 00    	mov    0x415040,%ecx
40cdb7:	85 c9                	test   %ecx,%ecx
40cdb9:	74 10                	je     0x40cdcb
40cdbb:	8b 01                	mov    (%ecx),%eax
40cdbd:	51                   	push   %ecx
40cdbe:	8b 70 18             	mov    0x18(%eax),%esi
40cdc1:	8b ce                	mov    %esi,%ecx
40cdc3:	ff 15 90 b3 41 00    	call   *0x41b390
40cdc9:	ff d6                	call   *%esi
40cdcb:	57                   	push   %edi
40cdcc:	6a 00                	push   $0x0
40cdce:	ff 73 04             	push   0x4(%ebx)
40cdd1:	ff 15 24 b2 41 00    	call   *0x41b224
40cdd7:	8b c7                	mov    %edi,%eax
40cdd9:	5f                   	pop    %edi
40cdda:	5e                   	pop    %esi
40cddb:	5b                   	pop    %ebx
40cddc:	5d                   	pop    %ebp
40cddd:	c2 04 00             	ret    $0x4
40cde0:	8b ff                	mov    %edi,%edi
40cde2:	55                   	push   %ebp
40cde3:	8b ec                	mov    %esp,%ebp
40cde5:	81 ec c8 00 00 00    	sub    $0xc8,%esp
40cdeb:	a1 18 51 41 00       	mov    0x415118,%eax
40cdf0:	33 c5                	xor    %ebp,%eax
40cdf2:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cdf5:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
40cdf9:	53                   	push   %ebx
40cdfa:	56                   	push   %esi
40cdfb:	57                   	push   %edi
40cdfc:	8b f9                	mov    %ecx,%edi
40cdfe:	68 0e 04 00 00       	push   $0x40e
40ce03:	ff 77 04             	push   0x4(%edi)
40ce06:	ff 15 d0 b1 41 00    	call   *0x41b1d0
40ce0c:	8b 4f 04             	mov    0x4(%edi),%ecx
40ce0f:	8b d8                	mov    %eax,%ebx
40ce11:	e8 8e 2e 00 00       	call   0x40fca4
40ce16:	6a 04                	push   $0x4
40ce18:	6a 00                	push   $0x0
40ce1a:	68 36 10 00 00       	push   $0x1036
40ce1f:	53                   	push   %ebx
40ce20:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ce26:	8d 45 ec             	lea    -0x14(%ebp),%eax
40ce29:	50                   	push   %eax
40ce2a:	53                   	push   %ebx
40ce2b:	ff 15 28 b2 41 00    	call   *0x41b228
40ce31:	8b 45 f4             	mov    -0xc(%ebp),%eax
40ce34:	2b 45 ec             	sub    -0x14(%ebp),%eax
40ce37:	6a 02                	push   $0x2
40ce39:	5e                   	pop    %esi
40ce3a:	6a 00                	push   $0x0
40ce3c:	6a 00                	push   $0x0
40ce3e:	68 28 10 00 00       	push   $0x1028
40ce43:	53                   	push   %ebx
40ce44:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
40ce4a:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
40ce50:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ce56:	8b 4f 0c             	mov    0xc(%edi),%ecx
40ce59:	0f b6 09             	movzbl (%ecx),%ecx
40ce5c:	3b c1                	cmp    %ecx,%eax
40ce5e:	7d 1d                	jge    0x40ce7d
40ce60:	56                   	push   %esi
40ce61:	ff 15 fc b1 41 00    	call   *0x41b1fc
40ce67:	8b f0                	mov    %eax,%esi
40ce69:	e8 07 2f 00 00       	call   0x40fd75
40ce6e:	0f af c6             	imul   %esi,%eax
40ce71:	6a a0                	push   $0xffffffa0
40ce73:	59                   	pop    %ecx
40ce74:	99                   	cltd
40ce75:	f7 f9                	idiv   %ecx
40ce77:	01 85 7c ff ff ff    	add    %eax,-0x84(%ebp)
40ce7d:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40ce83:	50                   	push   %eax
40ce84:	6a 00                	push   $0x0
40ce86:	68 61 10 00 00       	push   $0x1061
40ce8b:	53                   	push   %ebx
40ce8c:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40ce92:	6a 17                	push   $0x17
40ce94:	8d 55 e0             	lea    -0x20(%ebp),%edx
40ce97:	59                   	pop    %ecx
40ce98:	e8 48 2b 00 00       	call   0x40f9e5
40ce9d:	85 c0                	test   %eax,%eax
40ce9f:	74 32                	je     0x40ced3
40cea1:	8b 75 e0             	mov    -0x20(%ebp),%esi
40cea4:	85 f6                	test   %esi,%esi
40cea6:	74 2b                	je     0x40ced3
40cea8:	33 c9                	xor    %ecx,%ecx
40ceaa:	c7 45 a0 01 00 00 00 	movl   $0x1,-0x60(%ebp)
40ceb1:	8d 45 a0             	lea    -0x60(%ebp),%eax
40ceb4:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
40ceb7:	50                   	push   %eax
40ceb8:	51                   	push   %ecx
40ceb9:	68 4d 10 00 00       	push   $0x104d
40cebe:	53                   	push   %ebx
40cebf:	89 4d a8             	mov    %ecx,-0x58(%ebp)
40cec2:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40cec5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40cecb:	56                   	push   %esi
40cecc:	ff 15 24 b3 41 00    	call   *0x41b324
40ced2:	59                   	pop    %ecx
40ced3:	8b 47 0c             	mov    0xc(%edi),%eax
40ced6:	33 f6                	xor    %esi,%esi