40bda6:	33 c0                	xor    %eax,%eax
40bda8:	eb 11                	jmp    0x40bdbb
40bdaa:	8b c6                	mov    %esi,%eax
40bdac:	87 07                	xchg   %eax,(%edi)
40bdae:	85 c0                	test   %eax,%eax
40bdb0:	74 07                	je     0x40bdb9
40bdb2:	56                   	push   %esi
40bdb3:	ff 15 04 b1 41 00    	call   *0x41b104
40bdb9:	8b c6                	mov    %esi,%eax
40bdbb:	5e                   	pop    %esi
40bdbc:	5b                   	pop    %ebx
40bdbd:	5f                   	pop    %edi
40bdbe:	5d                   	pop    %ebp
40bdbf:	c3                   	ret
40bdc0:	8b ff                	mov    %edi,%edi
40bdc2:	55                   	push   %ebp
40bdc3:	8b ec                	mov    %esp,%ebp
40bdc5:	51                   	push   %ecx
40bdc6:	a1 0c 30 42 00       	mov    0x42300c,%eax
40bdcb:	33 c5                	xor    %ebp,%eax
40bdcd:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bdd0:	56                   	push   %esi
40bdd1:	e8 b9 fe ff ff       	call   0x40bc8f
40bdd6:	8b f0                	mov    %eax,%esi
40bdd8:	85 f6                	test   %esi,%esi
40bdda:	74 27                	je     0x40be03
40bddc:	ff 75 28             	push   0x28(%ebp)
40bddf:	8b ce                	mov    %esi,%ecx
40bde1:	ff 75 24             	push   0x24(%ebp)
40bde4:	ff 75 20             	push   0x20(%ebp)
40bde7:	ff 75 1c             	push   0x1c(%ebp)
40bdea:	ff 75 18             	push   0x18(%ebp)
40bded:	ff 75 14             	push   0x14(%ebp)
40bdf0:	ff 75 10             	push   0x10(%ebp)
40bdf3:	ff 75 0c             	push   0xc(%ebp)
40bdf6:	ff 75 08             	push   0x8(%ebp)
40bdf9:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40bdff:	ff d6                	call   *%esi
40be01:	eb 20                	jmp    0x40be23
40be03:	ff 75 1c             	push   0x1c(%ebp)
40be06:	ff 75 18             	push   0x18(%ebp)
40be09:	ff 75 14             	push   0x14(%ebp)
40be0c:	ff 75 10             	push   0x10(%ebp)
40be0f:	ff 75 0c             	push   0xc(%ebp)
40be12:	6a 00                	push   $0x0
40be14:	ff 75 08             	push   0x8(%ebp)
40be17:	e8 16 03 00 00       	call   0x40c132
40be1c:	50                   	push   %eax
40be1d:	ff 15 50 b1 41 00    	call   *0x41b150
40be23:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40be26:	33 cd                	xor    %ebp,%ecx
40be28:	5e                   	pop    %esi
40be29:	e8 28 71 ff ff       	call   0x402f56
40be2e:	8b e5                	mov    %ebp,%esp
40be30:	5d                   	pop    %ebp
40be31:	c2 24 00             	ret    $0x24
40be34:	8b ff                	mov    %edi,%edi
40be36:	55                   	push   %ebp
40be37:	8b ec                	mov    %esp,%ebp
40be39:	51                   	push   %ecx
40be3a:	a1 0c 30 42 00       	mov    0x42300c,%eax
40be3f:	33 c5                	xor    %ebp,%eax
40be41:	89 45 fc             	mov    %eax,-0x4(%ebp)
40be44:	56                   	push   %esi
40be45:	68 a8 c9 41 00       	push   $0x41c9a8
40be4a:	68 a0 c9 41 00       	push   $0x41c9a0
40be4f:	68 5c b4 41 00       	push   $0x41b45c
40be54:	6a 03                	push   $0x3
40be56:	e8 4e fe ff ff       	call   0x40bca9
40be5b:	8b f0                	mov    %eax,%esi
40be5d:	83 c4 10             	add    $0x10,%esp
40be60:	85 f6                	test   %esi,%esi
40be62:	74 0f                	je     0x40be73
40be64:	ff 75 08             	push   0x8(%ebp)
40be67:	8b ce                	mov    %esi,%ecx
40be69:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40be6f:	ff d6                	call   *%esi
40be71:	eb 06                	jmp    0x40be79
40be73:	ff 15 f4 b0 41 00    	call   *0x41b0f4
40be79:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40be7c:	33 cd                	xor    %ebp,%ecx
40be7e:	5e                   	pop    %esi
40be7f:	e8 d2 70 ff ff       	call   0x402f56
40be84:	8b e5                	mov    %ebp,%esp
40be86:	5d                   	pop    %ebp
40be87:	c2 04 00             	ret    $0x4
40be8a:	8b ff                	mov    %edi,%edi
40be8c:	55                   	push   %ebp
40be8d:	8b ec                	mov    %esp,%ebp
40be8f:	51                   	push   %ecx
40be90:	a1 0c 30 42 00       	mov    0x42300c,%eax
40be95:	33 c5                	xor    %ebp,%eax
40be97:	89 45 fc             	mov    %eax,-0x4(%ebp)
40be9a:	56                   	push   %esi
40be9b:	68 b0 c9 41 00       	push   $0x41c9b0
40bea0:	68 a8 c9 41 00       	push   $0x41c9a8
40bea5:	68 70 b4 41 00       	push   $0x41b470
40beaa:	6a 04                	push   $0x4
40beac:	e8 f8 fd ff ff       	call   0x40bca9
40beb1:	83 c4 10             	add    $0x10,%esp
40beb4:	8b f0                	mov    %eax,%esi
40beb6:	ff 75 08             	push   0x8(%ebp)
40beb9:	85 f6                	test   %esi,%esi
40bebb:	74 0c                	je     0x40bec9
40bebd:	8b ce                	mov    %esi,%ecx
40bebf:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40bec5:	ff d6                	call   *%esi
40bec7:	eb 06                	jmp    0x40becf
40bec9:	ff 15 00 b1 41 00    	call   *0x41b100
40becf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bed2:	33 cd                	xor    %ebp,%ecx
40bed4:	5e                   	pop    %esi
40bed5:	e8 7c 70 ff ff       	call   0x402f56
40beda:	8b e5                	mov    %ebp,%esp
40bedc:	5d                   	pop    %ebp
40bedd:	c2 04 00             	ret    $0x4
40bee0:	8b ff                	mov    %edi,%edi
40bee2:	55                   	push   %ebp
40bee3:	8b ec                	mov    %esp,%ebp
40bee5:	51                   	push   %ecx
40bee6:	a1 0c 30 42 00       	mov    0x42300c,%eax
40beeb:	33 c5                	xor    %ebp,%eax
40beed:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bef0:	56                   	push   %esi
40bef1:	68 b8 c9 41 00       	push   $0x41c9b8
40bef6:	68 b0 c9 41 00       	push   $0x41c9b0
40befb:	68 80 b4 41 00       	push   $0x41b480
40bf00:	6a 05                	push   $0x5
40bf02:	e8 a2 fd ff ff       	call   0x40bca9
40bf07:	83 c4 10             	add    $0x10,%esp
40bf0a:	8b f0                	mov    %eax,%esi
40bf0c:	ff 75 08             	push   0x8(%ebp)
40bf0f:	85 f6                	test   %esi,%esi
40bf11:	74 0c                	je     0x40bf1f
40bf13:	8b ce                	mov    %esi,%ecx
40bf15:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40bf1b:	ff d6                	call   *%esi
40bf1d:	eb 06                	jmp    0x40bf25
40bf1f:	ff 15 f8 b0 41 00    	call   *0x41b0f8
40bf25:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bf28:	33 cd                	xor    %ebp,%ecx
40bf2a:	5e                   	pop    %esi
40bf2b:	e8 26 70 ff ff       	call   0x402f56
40bf30:	8b e5                	mov    %ebp,%esp
40bf32:	5d                   	pop    %ebp
40bf33:	c2 04 00             	ret    $0x4
40bf36:	8b ff                	mov    %edi,%edi
40bf38:	55                   	push   %ebp
40bf39:	8b ec                	mov    %esp,%ebp
40bf3b:	51                   	push   %ecx
40bf3c:	a1 0c 30 42 00       	mov    0x42300c,%eax
40bf41:	33 c5                	xor    %ebp,%eax
40bf43:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bf46:	56                   	push   %esi
40bf47:	68 c0 c9 41 00       	push   $0x41c9c0
40bf4c:	68 b8 c9 41 00       	push   $0x41c9b8
40bf51:	68 94 b4 41 00       	push   $0x41b494
40bf56:	6a 06                	push   $0x6
40bf58:	e8 4c fd ff ff       	call   0x40bca9
40bf5d:	83 c4 10             	add    $0x10,%esp
40bf60:	8b f0                	mov    %eax,%esi
40bf62:	ff 75 0c             	push   0xc(%ebp)
40bf65:	ff 75 08             	push   0x8(%ebp)
40bf68:	85 f6                	test   %esi,%esi
40bf6a:	74 0c                	je     0x40bf78
40bf6c:	8b ce                	mov    %esi,%ecx
40bf6e:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40bf74:	ff d6                	call   *%esi
40bf76:	eb 06                	jmp    0x40bf7e
40bf78:	ff 15 fc b0 41 00    	call   *0x41b0fc
40bf7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bf81:	33 cd                	xor    %ebp,%ecx
40bf83:	5e                   	pop    %esi
40bf84:	e8 cd 6f ff ff       	call   0x402f56
40bf89:	8b e5                	mov    %ebp,%esp
40bf8b:	5d                   	pop    %ebp
40bf8c:	c2 08 00             	ret    $0x8
40bf8f:	8b ff                	mov    %edi,%edi
40bf91:	55                   	push   %ebp
40bf92:	8b ec                	mov    %esp,%ebp
40bf94:	51                   	push   %ecx
40bf95:	a1 0c 30 42 00       	mov    0x42300c,%eax
40bf9a:	33 c5                	xor    %ebp,%eax
40bf9c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bf9f:	56                   	push   %esi
40bfa0:	68 e4 c9 41 00       	push   $0x41c9e4
40bfa5:	68 dc c9 41 00       	push   $0x41c9dc
40bfaa:	68 e4 c9 41 00       	push   $0x41c9e4
40bfaf:	6a 0b                	push   $0xb
40bfb1:	e8 f3 fc ff ff       	call   0x40bca9
40bfb6:	8b f0                	mov    %eax,%esi
40bfb8:	83 c4 10             	add    $0x10,%esp
40bfbb:	85 f6                	test   %esi,%esi
40bfbd:	74 18                	je     0x40bfd7
40bfbf:	ff 75 14             	push   0x14(%ebp)
40bfc2:	8b ce                	mov    %esi,%ecx
40bfc4:	ff 75 10             	push   0x10(%ebp)
40bfc7:	ff 75 0c             	push   0xc(%ebp)
40bfca:	ff 75 08             	push   0x8(%ebp)
40bfcd:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40bfd3:	ff d6                	call   *%esi
40bfd5:	eb 0a                	jmp    0x40bfe1
40bfd7:	6a 78                	push   $0x78
40bfd9:	ff 15 9c b0 41 00    	call   *0x41b09c
40bfdf:	33 c0                	xor    %eax,%eax
40bfe1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40bfe4:	33 cd                	xor    %ebp,%ecx
40bfe6:	5e                   	pop    %esi
40bfe7:	e8 6a 6f ff ff       	call   0x402f56
40bfec:	8b e5                	mov    %ebp,%esp
40bfee:	5d                   	pop    %ebp
40bfef:	c2 10 00             	ret    $0x10
40bff2:	8b ff                	mov    %edi,%edi
40bff4:	55                   	push   %ebp
40bff5:	8b ec                	mov    %esp,%ebp
40bff7:	51                   	push   %ecx
40bff8:	a1 0c 30 42 00       	mov    0x42300c,%eax
40bffd:	33 c5                	xor    %ebp,%eax
40bfff:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c002:	56                   	push   %esi
40c003:	68 08 ca 41 00       	push   $0x41ca08
40c008:	68 04 ca 41 00       	push   $0x41ca04
40c00d:	68 08 ca 41 00       	push   $0x41ca08
40c012:	6a 0f                	push   $0xf
40c014:	e8 90 fc ff ff       	call   0x40bca9
40c019:	83 c4 10             	add    $0x10,%esp
40c01c:	8b f0                	mov    %eax,%esi
40c01e:	ff 75 08             	push   0x8(%ebp)
40c021:	85 f6                	test   %esi,%esi
40c023:	74 0c                	je     0x40c031
40c025:	8b ce                	mov    %esi,%ecx
40c027:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40c02d:	ff d6                	call   *%esi
40c02f:	eb 06                	jmp    0x40c037
40c031:	ff 15 d4 b0 41 00    	call   *0x41b0d4
40c037:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c03a:	33 cd                	xor    %ebp,%ecx
40c03c:	5e                   	pop    %esi
40c03d:	e8 14 6f ff ff       	call   0x402f56
40c042:	8b e5                	mov    %ebp,%esp
40c044:	5d                   	pop    %ebp
40c045:	c2 04 00             	ret    $0x4
40c048:	8b ff                	mov    %edi,%edi
40c04a:	55                   	push   %ebp
40c04b:	8b ec                	mov    %esp,%ebp
40c04d:	51                   	push   %ecx
40c04e:	a1 0c 30 42 00       	mov    0x42300c,%eax
40c053:	33 c5                	xor    %ebp,%eax
40c055:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c058:	56                   	push   %esi
40c059:	68 30 ca 41 00       	push   $0x41ca30
40c05e:	68 28 ca 41 00       	push   $0x41ca28
40c063:	68 a8 b4 41 00       	push   $0x41b4a8
40c068:	6a 14                	push   $0x14
40c06a:	e8 3a fc ff ff       	call   0x40bca9
40c06f:	8b f0                	mov    %eax,%esi
40c071:	83 c4 10             	add    $0x10,%esp
40c074:	85 f6                	test   %esi,%esi
40c076:	74 15                	je     0x40c08d
40c078:	ff 75 10             	push   0x10(%ebp)
40c07b:	8b ce                	mov    %esi,%ecx
40c07d:	ff 75 0c             	push   0xc(%ebp)
40c080:	ff 75 08             	push   0x8(%ebp)
40c083:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40c089:	ff d6                	call   *%esi
40c08b:	eb 0c                	jmp    0x40c099
40c08d:	ff 75 0c             	push   0xc(%ebp)
40c090:	ff 75 08             	push   0x8(%ebp)
40c093:	ff 15 f0 b0 41 00    	call   *0x41b0f0
40c099:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c09c:	33 cd                	xor    %ebp,%ecx
40c09e:	5e                   	pop    %esi
40c09f:	e8 b2 6e ff ff       	call   0x402f56
40c0a4:	8b e5                	mov    %ebp,%esp
40c0a6:	5d                   	pop    %ebp
40c0a7:	c2 0c 00             	ret    $0xc
40c0aa:	8b ff                	mov    %edi,%edi
40c0ac:	55                   	push   %ebp
40c0ad:	8b ec                	mov    %esp,%ebp
40c0af:	51                   	push   %ecx
40c0b0:	a1 0c 30 42 00       	mov    0x42300c,%eax
40c0b5:	33 c5                	xor    %ebp,%eax
40c0b7:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c0ba:	56                   	push   %esi
40c0bb:	68 38 ca 41 00       	push   $0x41ca38
40c0c0:	68 30 ca 41 00       	push   $0x41ca30
40c0c5:	68 38 ca 41 00       	push   $0x41ca38
40c0ca:	6a 16                	push   $0x16
40c0cc:	e8 d8 fb ff ff       	call   0x40bca9
40c0d1:	8b f0                	mov    %eax,%esi
40c0d3:	83 c4 10             	add    $0x10,%esp
40c0d6:	85 f6                	test   %esi,%esi
40c0d8:	74 27                	je     0x40c101
40c0da:	ff 75 28             	push   0x28(%ebp)
40c0dd:	8b ce                	mov    %esi,%ecx
40c0df:	ff 75 24             	push   0x24(%ebp)
40c0e2:	ff 75 20             	push   0x20(%ebp)
40c0e5:	ff 75 1c             	push   0x1c(%ebp)
40c0e8:	ff 75 18             	push   0x18(%ebp)
40c0eb:	ff 75 14             	push   0x14(%ebp)
40c0ee:	ff 75 10             	push   0x10(%ebp)
40c0f1:	ff 75 0c             	push   0xc(%ebp)
40c0f4:	ff 75 08             	push   0x8(%ebp)
40c0f7:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40c0fd:	ff d6                	call   *%esi
40c0ff:	eb 20                	jmp    0x40c121
40c101:	ff 75 1c             	push   0x1c(%ebp)
40c104:	ff 75 18             	push   0x18(%ebp)
40c107:	ff 75 14             	push   0x14(%ebp)
40c10a:	ff 75 10             	push   0x10(%ebp)
40c10d:	ff 75 0c             	push   0xc(%ebp)
40c110:	6a 00                	push   $0x0
40c112:	ff 75 08             	push   0x8(%ebp)
40c115:	e8 18 00 00 00       	call   0x40c132
40c11a:	50                   	push   %eax
40c11b:	ff 15 54 b1 41 00    	call   *0x41b154
40c121:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c124:	33 cd                	xor    %ebp,%ecx
40c126:	5e                   	pop    %esi
40c127:	e8 2a 6e ff ff       	call   0x402f56
40c12c:	8b e5                	mov    %ebp,%esp
40c12e:	5d                   	pop    %ebp
40c12f:	c2 24 00             	ret    $0x24
40c132:	8b ff                	mov    %edi,%edi
40c134:	55                   	push   %ebp
40c135:	8b ec                	mov    %esp,%ebp
40c137:	51                   	push   %ecx
40c138:	a1 0c 30 42 00       	mov    0x42300c,%eax
40c13d:	33 c5                	xor    %ebp,%eax
40c13f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c142:	56                   	push   %esi
40c143:	68 50 ca 41 00       	push   $0x41ca50
40c148:	68 48 ca 41 00       	push   $0x41ca48
40c14d:	68 50 ca 41 00       	push   $0x41ca50
40c152:	6a 18                	push   $0x18
40c154:	e8 50 fb ff ff       	call   0x40bca9
40c159:	8b f0                	mov    %eax,%esi
40c15b:	83 c4 10             	add    $0x10,%esp
40c15e:	85 f6                	test   %esi,%esi
40c160:	74 12                	je     0x40c174
40c162:	ff 75 0c             	push   0xc(%ebp)
40c165:	8b ce                	mov    %esi,%ecx
40c167:	ff 75 08             	push   0x8(%ebp)
40c16a:	ff 15 a8 b1 41 00    	call   *0x41b1a8
40c170:	ff d6                	call   *%esi
40c172:	eb 09                	jmp    0x40c17d
40c174:	ff 75 08             	push   0x8(%ebp)
40c177:	e8 6d 76 00 00       	call   0x4137e9
40c17c:	59                   	pop    %ecx
40c17d:	8b 4d fc             	mov    -0x4(%ebp),%ecx