40cb13:	ff 75 08             	push   0x8(%ebp)
40cb16:	e8 37 4e 00 00       	call   0x411952
40cb1b:	83 c4 0c             	add    $0xc,%esp
40cb1e:	85 c0                	test   %eax,%eax
40cb20:	75 0b                	jne    0x40cb2d
40cb22:	46                   	inc    %esi
40cb23:	3b 75 10             	cmp    0x10(%ebp),%esi
40cb26:	7c e3                	jl     0x40cb0b
40cb28:	5f                   	pop    %edi
40cb29:	5e                   	pop    %esi
40cb2a:	5b                   	pop    %ebx
40cb2b:	5d                   	pop    %ebp
40cb2c:	c3                   	ret
40cb2d:	53                   	push   %ebx
40cb2e:	53                   	push   %ebx
40cb2f:	53                   	push   %ebx
40cb30:	53                   	push   %ebx
40cb31:	53                   	push   %ebx
40cb32:	e8 ce ea ff ff       	call   0x40b605
40cb37:	cc                   	int3
40cb38:	6a 14                	push   $0x14
40cb3a:	68 a0 e5 41 00       	push   $0x41e5a0
40cb3f:	e8 6c e2 ff ff       	call   0x40adb0
40cb44:	33 db                	xor    %ebx,%ebx
40cb46:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40cb49:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
40cb4d:	76 17                	jbe    0x40cb66
40cb4f:	e8 29 b6 ff ff       	call   0x40817d
40cb54:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40cb5a:	e8 96 ea ff ff       	call   0x40b5f5
40cb5f:	33 c0                	xor    %eax,%eax
40cb61:	e9 3e 01 00 00       	jmp    0x40cca4
40cb66:	e8 6b f8 ff ff       	call   0x40c3d6
40cb6b:	8b f0                	mov    %eax,%esi
40cb6d:	89 75 e0             	mov    %esi,-0x20(%ebp)
40cb70:	e8 b1 ee ff ff       	call   0x40ba26
40cb75:	83 4e 70 10          	orl    $0x10,0x70(%esi)
40cb79:	21 5d fc             	and    %ebx,-0x4(%ebp)
40cb7c:	6a 01                	push   $0x1
40cb7e:	68 b8 00 00 00       	push   $0xb8
40cb83:	e8 d0 be ff ff       	call   0x408a58
40cb88:	59                   	pop    %ecx
40cb89:	59                   	pop    %ecx
40cb8a:	8b f8                	mov    %eax,%edi
40cb8c:	89 7d dc             	mov    %edi,-0x24(%ebp)
40cb8f:	85 ff                	test   %edi,%edi
40cb91:	0f 84 ff 00 00 00    	je     0x40cc96
40cb97:	6a 0c                	push   $0xc
40cb99:	e8 09 b9 ff ff       	call   0x4084a7
40cb9e:	59                   	pop    %ecx
40cb9f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40cba6:	ff 76 6c             	push   0x6c(%esi)
40cba9:	57                   	push   %edi
40cbaa:	e8 3b fc ff ff       	call   0x40c7ea
40cbaf:	59                   	pop    %ecx
40cbb0:	59                   	pop    %ecx
40cbb1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cbb5:	e8 b4 00 00 00       	call   0x40cc6e
40cbba:	ff 75 0c             	push   0xc(%ebp)
40cbbd:	ff 75 08             	push   0x8(%ebp)
40cbc0:	57                   	push   %edi
40cbc1:	e8 63 02 00 00       	call   0x40ce29
40cbc6:	83 c4 0c             	add    $0xc,%esp
40cbc9:	8b d8                	mov    %eax,%ebx
40cbcb:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40cbce:	85 db                	test   %ebx,%ebx
40cbd0:	0f 84 b2 00 00 00    	je     0x40cc88
40cbd6:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40cbda:	74 1d                	je     0x40cbf9
40cbdc:	68 dc 0d 42 00       	push   $0x420ddc
40cbe1:	ff 75 0c             	push   0xc(%ebp)
40cbe4:	e8 2a 66 00 00       	call   0x413213
40cbe9:	59                   	pop    %ecx
40cbea:	59                   	pop    %ecx
40cbeb:	85 c0                	test   %eax,%eax
40cbed:	74 0a                	je     0x40cbf9
40cbef:	c7 05 74 27 42 00 01 	movl   $0x1,0x422774
40cbf6:	00 00 00
40cbf9:	6a 0c                	push   $0xc
40cbfb:	e8 a7 b8 ff ff       	call   0x4084a7
40cc00:	59                   	pop    %ecx
40cc01:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40cc08:	8d 46 6c             	lea    0x6c(%esi),%eax
40cc0b:	57                   	push   %edi
40cc0c:	50                   	push   %eax
40cc0d:	e8 90 ee ff ff       	call   0x40baa2
40cc12:	57                   	push   %edi
40cc13:	e8 73 ed ff ff       	call   0x40b98b
40cc18:	83 c4 0c             	add    $0xc,%esp
40cc1b:	f6 46 70 02          	testb  $0x2,0x70(%esi)
40cc1f:	75 3c                	jne    0x40cc5d
40cc21:	f6 05 0c 10 42 00 01 	testb  $0x1,0x42100c
40cc28:	75 33                	jne    0x40cc5d
40cc2a:	ff 76 6c             	push   0x6c(%esi)
40cc2d:	68 44 0f 42 00       	push   $0x420f44
40cc32:	e8 6b ee ff ff       	call   0x40baa2
40cc37:	59                   	pop    %ecx
40cc38:	59                   	pop    %ecx
40cc39:	8b 0d 44 0f 42 00    	mov    0x420f44,%ecx
40cc3f:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
40cc45:	a3 f0 02 42 00       	mov    %eax,0x4202f0
40cc4a:	8b 81 90 00 00 00    	mov    0x90(%ecx),%eax
40cc50:	a3 80 08 42 00       	mov    %eax,0x420880
40cc55:	8b 41 74             	mov    0x74(%ecx),%eax
40cc58:	a3 08 10 42 00       	mov    %eax,0x421008
40cc5d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cc61:	e8 17 00 00 00       	call   0x40cc7d
40cc66:	eb 2e                	jmp    0x40cc96
40cc68:	8b 7d dc             	mov    -0x24(%ebp),%edi
40cc6b:	8b 75 e0             	mov    -0x20(%ebp),%esi
40cc6e:	6a 0c                	push   $0xc
40cc70:	e8 96 b9 ff ff       	call   0x40860b
40cc75:	59                   	pop    %ecx
40cc76:	c3                   	ret
40cc77:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40cc7a:	8b 75 e0             	mov    -0x20(%ebp),%esi
40cc7d:	6a 0c                	push   $0xc
40cc7f:	e8 87 b9 ff ff       	call   0x40860b
40cc84:	59                   	pop    %ecx
40cc85:	c3                   	ret
40cc86:	eb 0e                	jmp    0x40cc96
40cc88:	57                   	push   %edi
40cc89:	e8 fd ec ff ff       	call   0x40b98b
40cc8e:	57                   	push   %edi
40cc8f:	e8 9d eb ff ff       	call   0x40b831
40cc94:	59                   	pop    %ecx
40cc95:	59                   	pop    %ecx
40cc96:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40cc9d:	e8 0e 00 00 00       	call   0x40ccb0
40cca2:	8b c3                	mov    %ebx,%eax
40cca4:	e8 4c e1 ff ff       	call   0x40adf5
40cca9:	c3                   	ret
40ccaa:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40ccad:	8b 75 e0             	mov    -0x20(%ebp),%esi
40ccb0:	83 66 70 ef          	andl   $0xffffffef,0x70(%esi)
40ccb4:	c3                   	ret
40ccb5:	55                   	push   %ebp
40ccb6:	8b ec                	mov    %esp,%ebp
40ccb8:	83 ec 0c             	sub    $0xc,%esp
40ccbb:	53                   	push   %ebx
40ccbc:	57                   	push   %edi
40ccbd:	33 ff                	xor    %edi,%edi
40ccbf:	47                   	inc    %edi
40ccc0:	68 a6 06 00 00       	push   $0x6a6
40ccc5:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ccc8:	e8 d5 bd ff ff       	call   0x408aa2
40cccd:	8b d8                	mov    %eax,%ebx
40cccf:	33 c0                	xor    %eax,%eax
40ccd1:	59                   	pop    %ecx
40ccd2:	85 db                	test   %ebx,%ebx
40ccd4:	0f 84 ee 00 00 00    	je     0x40cdc8
40ccda:	56                   	push   %esi
40ccdb:	8d 73 04             	lea    0x4(%ebx),%esi
40ccde:	66 89 06             	mov    %ax,(%esi)
40cce1:	89 3b                	mov    %edi,(%ebx)
40cce3:	8b 7d 08             	mov    0x8(%ebp),%edi
40cce6:	ff 77 24             	push   0x24(%edi)
40cce9:	68 4c bb 41 00       	push   $0x41bb4c
40ccee:	ff 35 04 ba 41 00    	push   0x41ba04
40ccf4:	6a 03                	push   $0x3
40ccf6:	68 51 03 00 00       	push   $0x351
40ccfb:	56                   	push   %esi
40ccfc:	e8 f8 fd ff ff       	call   0x40caf9
40cd01:	b8 04 ba 41 00       	mov    $0x41ba04,%eax
40cd06:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cd09:	8d 47 24             	lea    0x24(%edi),%eax
40cd0c:	83 c4 18             	add    $0x18,%esp
40cd0f:	89 45 f4             	mov    %eax,-0xc(%ebp)
40cd12:	68 48 bb 41 00       	push   $0x41bb48
40cd17:	68 51 03 00 00       	push   $0x351
40cd1c:	56                   	push   %esi
40cd1d:	e8 30 4c 00 00       	call   0x411952
40cd22:	83 c4 0c             	add    $0xc,%esp
40cd25:	85 c0                	test   %eax,%eax
40cd27:	0f 85 ef 00 00 00    	jne    0x40ce1c
40cd2d:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd30:	8d 70 10             	lea    0x10(%eax),%esi
40cd33:	ff 36                	push   (%esi)
40cd35:	ff 30                	push   (%eax)
40cd37:	e8 d7 64 00 00       	call   0x413213
40cd3c:	f7 d8                	neg    %eax
40cd3e:	1b c0                	sbb    %eax,%eax
40cd40:	f7 d0                	not    %eax
40cd42:	21 45 f8             	and    %eax,-0x8(%ebp)
40cd45:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cd48:	8b ce                	mov    %esi,%ecx
40cd4a:	83 c0 0c             	add    $0xc,%eax
40cd4d:	ff 31                	push   (%ecx)
40cd4f:	8d 73 04             	lea    0x4(%ebx),%esi
40cd52:	68 4c bb 41 00       	push   $0x41bb4c
40cd57:	ff 30                	push   (%eax)
40cd59:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40cd5c:	6a 03                	push   $0x3
40cd5e:	68 51 03 00 00       	push   $0x351
40cd63:	56                   	push   %esi
40cd64:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cd67:	e8 8d fd ff ff       	call   0x40caf9
40cd6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cd6f:	83 c4 20             	add    $0x20,%esp
40cd72:	3d 34 ba 41 00       	cmp    $0x41ba34,%eax
40cd77:	7c 99                	jl     0x40cd12
40cd79:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40cd7d:	75 4d                	jne    0x40cdcc
40cd7f:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40cd83:	74 16                	je     0x40cd9b
40cd85:	ff 77 1c             	push   0x1c(%edi)
40cd88:	ff 15 54 90 41 00    	call   *0x419054
40cd8e:	85 c0                	test   %eax,%eax
40cd90:	75 09                	jne    0x40cd9b
40cd92:	ff 77 1c             	push   0x1c(%edi)
40cd95:	e8 7e 83 ff ff       	call   0x405118
40cd9a:	59                   	pop    %ecx
40cd9b:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40cd9f:	74 16                	je     0x40cdb7
40cda1:	ff 77 18             	push   0x18(%edi)
40cda4:	ff 15 54 90 41 00    	call   *0x419054
40cdaa:	85 c0                	test   %eax,%eax
40cdac:	75 09                	jne    0x40cdb7
40cdae:	ff 77 18             	push   0x18(%edi)
40cdb1:	e8 62 83 ff ff       	call   0x405118
40cdb6:	59                   	pop    %ecx
40cdb7:	33 c9                	xor    %ecx,%ecx
40cdb9:	89 4f 18             	mov    %ecx,0x18(%edi)
40cdbc:	89 4f 10             	mov    %ecx,0x10(%edi)
40cdbf:	89 5f 1c             	mov    %ebx,0x1c(%edi)
40cdc2:	89 77 14             	mov    %esi,0x14(%edi)
40cdc5:	8b c6                	mov    %esi,%eax
40cdc7:	5e                   	pop    %esi
40cdc8:	5f                   	pop    %edi
40cdc9:	5b                   	pop    %ebx
40cdca:	c9                   	leave
40cdcb:	c3                   	ret
40cdcc:	53                   	push   %ebx
40cdcd:	e8 46 83 ff ff       	call   0x405118
40cdd2:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40cdd6:	8b 35 54 90 41 00    	mov    0x419054,%esi
40cddc:	59                   	pop    %ecx
40cddd:	74 12                	je     0x40cdf1
40cddf:	ff 77 1c             	push   0x1c(%edi)
40cde2:	ff d6                	call   *%esi
40cde4:	85 c0                	test   %eax,%eax
40cde6:	75 09                	jne    0x40cdf1
40cde8:	ff 77 1c             	push   0x1c(%edi)
40cdeb:	e8 28 83 ff ff       	call   0x405118
40cdf0:	59                   	pop    %ecx
40cdf1:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40cdf5:	74 12                	je     0x40ce09
40cdf7:	ff 77 18             	push   0x18(%edi)
40cdfa:	ff d6                	call   *%esi
40cdfc:	85 c0                	test   %eax,%eax
40cdfe:	75 09                	jne    0x40ce09
40ce00:	ff 77 18             	push   0x18(%edi)
40ce03:	e8 10 83 ff ff       	call   0x405118
40ce08:	59                   	pop    %ecx
40ce09:	8b 47 34             	mov    0x34(%edi),%eax
40ce0c:	33 c9                	xor    %ecx,%ecx
40ce0e:	89 4f 18             	mov    %ecx,0x18(%edi)
40ce11:	89 4f 10             	mov    %ecx,0x10(%edi)
40ce14:	89 4f 1c             	mov    %ecx,0x1c(%edi)
40ce17:	89 4f 14             	mov    %ecx,0x14(%edi)
40ce1a:	eb ab                	jmp    0x40cdc7
40ce1c:	33 c9                	xor    %ecx,%ecx
40ce1e:	51                   	push   %ecx
40ce1f:	51                   	push   %ecx
40ce20:	51                   	push   %ecx
40ce21:	51                   	push   %ecx
40ce22:	51                   	push   %ecx
40ce23:	e8 dd e7 ff ff       	call   0x40b605
40ce28:	cc                   	int3
40ce29:	55                   	push   %ebp
40ce2a:	8b ec                	mov    %esp,%ebp
40ce2c:	81 ec cc 01 00 00    	sub    $0x1cc,%esp
40ce32:	a1 90 08 42 00       	mov    0x420890,%eax
40ce37:	33 c5                	xor    %ebp,%eax
40ce39:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ce3c:	8b 45 0c             	mov    0xc(%ebp),%eax
40ce3f:	53                   	push   %ebx
40ce40:	56                   	push   %esi
40ce41:	8b 75 10             	mov    0x10(%ebp),%esi
40ce44:	57                   	push   %edi
40ce45:	8b 7d 08             	mov    0x8(%ebp),%edi
40ce48:	89 bd 34 fe ff ff    	mov    %edi,-0x1cc(%ebp)
40ce4e:	85 c0                	test   %eax,%eax
40ce50:	74 1f                	je     0x40ce71
40ce52:	85 f6                	test   %esi,%esi
40ce54:	74 10                	je     0x40ce66
40ce56:	56                   	push   %esi
40ce57:	50                   	push   %eax
40ce58:	57                   	push   %edi
40ce59:	e8 52 02 00 00       	call   0x40d0b0
40ce5e:	83 c4 0c             	add    $0xc,%esp
40ce61:	e9 29 02 00 00       	jmp    0x40d08f
40ce66:	03 c0                	add    %eax,%eax
40ce68:	8b 44 c7 14          	mov    0x14(%edi,%eax,8),%eax
40ce6c:	e9 1e 02 00 00       	jmp    0x40d08f
40ce71:	33 c0                	xor    %eax,%eax
40ce73:	8b d8                	mov    %eax,%ebx
40ce75:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
40ce7c:	00 00 00
40ce7f:	89 9d 3c fe ff ff    	mov    %ebx,-0x1c4(%ebp)
40ce85:	85 f6                	test   %esi,%esi
40ce87:	0f 84 fb 01 00 00    	je     0x40d088
40ce8d:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
40ce91:	0f 85 5e 01 00 00    	jne    0x40cff5
40ce97:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
40ce9c:	0f 85 53 01 00 00    	jne    0x40cff5
40cea2:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
40cea7:	0f 85 48 01 00 00    	jne    0x40cff5
40cead:	68 40 bb 41 00       	push   $0x41bb40
40ceb2:	56                   	push   %esi
40ceb3:	e8 1e 64 00 00       	call   0x4132d6
40ceb8:	59                   	pop    %ecx
40ceb9:	59                   	pop    %ecx
40ceba:	89 85 38 fe ff ff    	mov    %eax,-0x1c8(%ebp)
40cec0:	85 c0                	test   %eax,%eax
40cec2:	0f 84 26 01 00 00    	je     0x40cfee
40cec8:	8b c8                	mov    %eax,%ecx
40ceca:	2b ce                	sub    %esi,%ecx
40cecc:	d1 f9                	sar    $1,%ecx
40cece:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
40ced4:	0f 84 14 01 00 00    	je     0x40cfee
40ceda:	6a 3b                	push   $0x3b
40cedc:	59                   	pop    %ecx
40cedd:	66 39 08             	cmp    %cx,(%eax)
40cee0:	0f 84 08 01 00 00    	je     0x40cfee
40cee6:	8b bd 44 fe ff ff    	mov    -0x1bc(%ebp),%edi
40ceec:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
40cef3:	00 00 00
40cef6:	bb 04 ba 41 00       	mov    $0x41ba04,%ebx
40cefb:	57                   	push   %edi
40cefc:	56                   	push   %esi
40cefd:	ff 33                	push   (%ebx)
40ceff:	e8 9c 63 00 00       	call   0x4132a0
40cf04:	83 c4 0c             	add    $0xc,%esp
40cf07:	85 c0                	test   %eax,%eax
40cf09:	75 0c                	jne    0x40cf17
40cf0b:	ff 33                	push   (%ebx)
40cf0d:	e8 91 bd ff ff       	call   0x408ca3
40cf12:	59                   	pop    %ecx
40cf13:	3b f8                	cmp    %eax,%edi
40cf15:	74 11                	je     0x40cf28
40cf17:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
40cf1d:	83 c3 0c             	add    $0xc,%ebx
40cf20:	81 fb 34 ba 41 00    	cmp    $0x41ba34,%ebx
40cf26:	7e d3                	jle    0x40cefb
40cf28:	8b b5 38 fe ff ff    	mov    -0x1c8(%ebp),%esi
40cf2e:	83 c6 02             	add    $0x2,%esi
40cf31:	68 48 bb 41 00       	push   $0x41bb48
40cf36:	56                   	push   %esi
40cf37:	e8 15 63 00 00       	call   0x413251