40ae04:	6a 02                	push   $0x2
40ae06:	5a                   	pop    %edx
40ae07:	3b c2                	cmp    %edx,%eax
40ae09:	0f 84 96 fb ff ff    	je     0x40a9a5
40ae0f:	6a ff                	push   $0xffffffff
40ae11:	68 0c e5 44 00       	push   $0x44e50c
40ae16:	6a ff                	push   $0xffffffff
40ae18:	ff 75 fc             	push   -0x4(%ebp)
40ae1b:	56                   	push   %esi
40ae1c:	6a 7f                	push   $0x7f
40ae1e:	ff d3                	call   *%ebx
40ae20:	83 f8 02             	cmp    $0x2,%eax
40ae23:	0f 84 00 ff ff ff    	je     0x40ad29
40ae29:	6a ff                	push   $0xffffffff
40ae2b:	68 c4 e5 44 00       	push   $0x44e5c4
40ae30:	6a ff                	push   $0xffffffff
40ae32:	ff 75 fc             	push   -0x4(%ebp)
40ae35:	56                   	push   %esi
40ae36:	6a 7f                	push   $0x7f
40ae38:	ff d3                	call   *%ebx
40ae3a:	83 f8 02             	cmp    $0x2,%eax
40ae3d:	0f 85 59 01 00 00    	jne    0x40af9c
40ae43:	c7 47 10 04 00 00 00 	movl   $0x4,0x10(%edi)
40ae4a:	e9 95 00 00 00       	jmp    0x40aee4
40ae4f:	6a ff                	push   $0xffffffff
40ae51:	68 dc e5 44 00       	push   $0x44e5dc
40ae56:	6a ff                	push   $0xffffffff
40ae58:	ff 75 f4             	push   -0xc(%ebp)
40ae5b:	56                   	push   %esi
40ae5c:	6a 7f                	push   $0x7f
40ae5e:	ff d3                	call   *%ebx
40ae60:	83 f8 02             	cmp    $0x2,%eax
40ae63:	0f 85 5a 01 00 00    	jne    0x40afc3
40ae69:	8d 47 14             	lea    0x14(%edi),%eax
40ae6c:	c7 47 0c 06 00 00 00 	movl   $0x6,0xc(%edi)
40ae73:	50                   	push   %eax
40ae74:	68 94 e4 44 00       	push   $0x44e494
40ae79:	ff 75 f8             	push   -0x8(%ebp)
40ae7c:	e8 46 83 03 00       	call   0x4431c7
40ae81:	8b f0                	mov    %eax,%esi
40ae83:	85 f6                	test   %esi,%esi
40ae85:	0f 88 31 01 00 00    	js     0x40afbc
40ae8b:	8d 47 18             	lea    0x18(%edi),%eax
40ae8e:	50                   	push   %eax
40ae8f:	68 00 e6 44 00       	push   $0x44e600
40ae94:	ff 75 f8             	push   -0x8(%ebp)
40ae97:	e8 2b 83 03 00       	call   0x4431c7
40ae9c:	8b f0                	mov    %eax,%esi
40ae9e:	85 f6                	test   %esi,%esi
40aea0:	0f 88 0f 01 00 00    	js     0x40afb5
40aea6:	8d 45 fc             	lea    -0x4(%ebp),%eax
40aea9:	50                   	push   %eax
40aeaa:	68 1c cb 44 00       	push   $0x44cb1c
40aeaf:	ff 75 f8             	push   -0x8(%ebp)
40aeb2:	e8 10 83 03 00       	call   0x4431c7
40aeb7:	8b f0                	mov    %eax,%esi
40aeb9:	85 f6                	test   %esi,%esi
40aebb:	0f 88 ed 00 00 00    	js     0x40afae
40aec1:	6a ff                	push   $0xffffffff
40aec3:	68 0c e5 44 00       	push   $0x44e50c
40aec8:	6a ff                	push   $0xffffffff
40aeca:	ff 75 fc             	push   -0x4(%ebp)
40aecd:	33 f6                	xor    %esi,%esi
40aecf:	56                   	push   %esi
40aed0:	6a 7f                	push   $0x7f
40aed2:	ff d3                	call   *%ebx
40aed4:	83 f8 02             	cmp    $0x2,%eax
40aed7:	0f 85 bf 00 00 00    	jne    0x40af9c
40aedd:	c7 47 10 01 00 00 00 	movl   $0x1,0x10(%edi)
40aee4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40aee7:	85 c9                	test   %ecx,%ecx
40aee9:	74 09                	je     0x40aef4
40aeeb:	8b 01                	mov    (%ecx),%eax
40aeed:	51                   	push   %ecx
40aeee:	ff 50 08             	call   *0x8(%eax)
40aef1:	89 75 f8             	mov    %esi,-0x8(%ebp)
40aef4:	8b 45 f4             	mov    -0xc(%ebp),%eax
40aef7:	85 c0                	test   %eax,%eax
40aef9:	74 0a                	je     0x40af05
40aefb:	50                   	push   %eax
40aefc:	ff 15 20 b3 44 00    	call   *0x44b320
40af02:	89 75 f4             	mov    %esi,-0xc(%ebp)
40af05:	8b 45 0c             	mov    0xc(%ebp),%eax
40af08:	8b 55 e8             	mov    -0x18(%ebp),%edx
40af0b:	40                   	inc    %eax
40af0c:	83 c2 2c             	add    $0x2c,%edx
40af0f:	89 45 0c             	mov    %eax,0xc(%ebp)
40af12:	89 55 e8             	mov    %edx,-0x18(%ebp)
40af15:	3b 45 f0             	cmp    -0x10(%ebp),%eax
40af18:	0f 83 d8 00 00 00    	jae    0x40aff6
40af1e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40af21:	e9 7c f9 ff ff       	jmp    0x40a8a2
40af26:	68 1c e2 44 00       	push   $0x44e21c
40af2b:	e9 be 00 00 00       	jmp    0x40afee
40af30:	68 64 e2 44 00       	push   $0x44e264
40af35:	e9 b4 00 00 00       	jmp    0x40afee
40af3a:	68 68 e3 44 00       	push   $0x44e368
40af3f:	e9 aa 00 00 00       	jmp    0x40afee
40af44:	68 94 e3 44 00       	push   $0x44e394
40af49:	e9 a0 00 00 00       	jmp    0x40afee
40af4e:	68 e4 e3 44 00       	push   $0x44e3e4
40af53:	e9 96 00 00 00       	jmp    0x40afee
40af58:	ff 75 fc             	push   -0x4(%ebp)
40af5b:	68 44 e4 44 00       	push   $0x44e444
40af60:	eb 42                	jmp    0x40afa4
40af62:	68 24 e4 44 00       	push   $0x44e424
40af67:	e9 82 00 00 00       	jmp    0x40afee
40af6c:	68 48 e3 44 00       	push   $0x44e348
40af71:	eb 7b                	jmp    0x40afee
40af73:	ff 75 fc             	push   -0x4(%ebp)
40af76:	68 20 e3 44 00       	push   $0x44e320
40af7b:	eb 27                	jmp    0x40afa4
40af7d:	68 dc e2 44 00       	push   $0x44e2dc
40af82:	eb 6a                	jmp    0x40afee
40af84:	68 e0 e4 44 00       	push   $0x44e4e0
40af89:	eb 63                	jmp    0x40afee
40af8b:	68 68 e5 44 00       	push   $0x44e568
40af90:	eb 5c                	jmp    0x40afee
40af92:	68 84 e5 44 00       	push   $0x44e584
40af97:	8b f0                	mov    %eax,%esi
40af99:	50                   	push   %eax
40af9a:	eb 53                	jmp    0x40afef
40af9c:	ff 75 fc             	push   -0x4(%ebp)
40af9f:	68 0c cc 44 00       	push   $0x44cc0c
40afa4:	b8 57 00 07 80       	mov    $0x80070057,%eax
40afa9:	8b f0                	mov    %eax,%esi
40afab:	50                   	push   %eax
40afac:	eb 23                	jmp    0x40afd1
40afae:	68 28 cb 44 00       	push   $0x44cb28
40afb3:	eb 39                	jmp    0x40afee
40afb5:	68 14 e6 44 00       	push   $0x44e614
40afba:	eb 32                	jmp    0x40afee
40afbc:	68 ac e4 44 00       	push   $0x44e4ac
40afc1:	eb 2b                	jmp    0x40afee
40afc3:	ff 75 f4             	push   -0xc(%ebp)
40afc6:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40afcb:	68 30 e6 44 00       	push   $0x44e630
40afd0:	56                   	push   %esi
40afd1:	e8 59 51 03 00       	call   0x44012f
40afd6:	83 c4 0c             	add    $0xc,%esp
40afd9:	eb 1b                	jmp    0x40aff6
40afdb:	68 00 e2 44 00       	push   $0x44e200
40afe0:	eb 0c                	jmp    0x40afee
40afe2:	68 6c ca 44 00       	push   $0x44ca6c
40afe7:	eb 05                	jmp    0x40afee
40afe9:	68 48 ca 44 00       	push   $0x44ca48
40afee:	56                   	push   %esi
40afef:	e8 3b 51 03 00       	call   0x44012f
40aff4:	59                   	pop    %ecx
40aff5:	59                   	pop    %ecx
40aff6:	5f                   	pop    %edi
40aff7:	5b                   	pop    %ebx
40aff8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40affb:	85 c9                	test   %ecx,%ecx
40affd:	74 06                	je     0x40b005
40afff:	8b 01                	mov    (%ecx),%eax
40b001:	51                   	push   %ecx
40b002:	ff 50 08             	call   *0x8(%eax)
40b005:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b008:	85 c9                	test   %ecx,%ecx
40b00a:	74 06                	je     0x40b012
40b00c:	8b 01                	mov    (%ecx),%eax
40b00e:	51                   	push   %ecx
40b00f:	ff 50 08             	call   *0x8(%eax)
40b012:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b015:	85 c0                	test   %eax,%eax
40b017:	74 07                	je     0x40b020
40b019:	50                   	push   %eax
40b01a:	ff 15 20 b3 44 00    	call   *0x44b320
40b020:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40b024:	74 08                	je     0x40b02e
40b026:	ff 75 fc             	push   -0x4(%ebp)
40b029:	e8 c1 a4 03 00       	call   0x4454ef
40b02e:	8b c6                	mov    %esi,%eax
40b030:	5e                   	pop    %esi
40b031:	8b e5                	mov    %ebp,%esp
40b033:	5d                   	pop    %ebp
40b034:	c2 08 00             	ret    $0x8
40b037:	55                   	push   %ebp
40b038:	8b ec                	mov    %esp,%ebp
40b03a:	53                   	push   %ebx
40b03b:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b03e:	57                   	push   %edi
40b03f:	33 ff                	xor    %edi,%edi
40b041:	39 3b                	cmp    %edi,(%ebx)
40b043:	0f 84 b7 00 00 00    	je     0x40b100
40b049:	39 7b 04             	cmp    %edi,0x4(%ebx)
40b04c:	0f 86 a7 00 00 00    	jbe    0x40b0f9
40b052:	8b c7                	mov    %edi,%eax
40b054:	89 45 08             	mov    %eax,0x8(%ebp)
40b057:	56                   	push   %esi
40b058:	8b 33                	mov    (%ebx),%esi
40b05a:	03 f0                	add    %eax,%esi
40b05c:	83 3e 00             	cmpl   $0x0,(%esi)
40b05f:	74 07                	je     0x40b068
40b061:	ff 36                	push   (%esi)
40b063:	e8 87 a4 03 00       	call   0x4454ef
40b068:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40b06c:	74 08                	je     0x40b076
40b06e:	ff 76 04             	push   0x4(%esi)
40b071:	e8 79 a4 03 00       	call   0x4454ef
40b076:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40b07a:	74 08                	je     0x40b084
40b07c:	ff 76 08             	push   0x8(%esi)
40b07f:	e8 6b a4 03 00       	call   0x4454ef
40b084:	8b 46 0c             	mov    0xc(%esi),%eax
40b087:	83 e8 01             	sub    $0x1,%eax
40b08a:	74 4b                	je     0x40b0d7
40b08c:	83 e8 01             	sub    $0x1,%eax
40b08f:	74 46                	je     0x40b0d7
40b091:	83 e8 01             	sub    $0x1,%eax
40b094:	74 28                	je     0x40b0be
40b096:	83 e8 01             	sub    $0x1,%eax
40b099:	74 0a                	je     0x40b0a5
40b09b:	83 e8 01             	sub    $0x1,%eax
40b09e:	74 13                	je     0x40b0b3
40b0a0:	83 e8 01             	sub    $0x1,%eax
40b0a3:	75 40                	jne    0x40b0e5
40b0a5:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40b0a9:	74 08                	je     0x40b0b3
40b0ab:	ff 76 14             	push   0x14(%esi)
40b0ae:	e8 3c a4 03 00       	call   0x4454ef
40b0b3:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40b0b7:	74 2c                	je     0x40b0e5
40b0b9:	ff 76 18             	push   0x18(%esi)
40b0bc:	eb 22                	jmp    0x40b0e0
40b0be:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40b0c2:	74 08                	je     0x40b0cc
40b0c4:	ff 76 1c             	push   0x1c(%esi)
40b0c7:	e8 23 a4 03 00       	call   0x4454ef
40b0cc:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
40b0d0:	74 13                	je     0x40b0e5
40b0d2:	ff 76 20             	push   0x20(%esi)
40b0d5:	eb 09                	jmp    0x40b0e0
40b0d7:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
40b0db:	74 08                	je     0x40b0e5
40b0dd:	ff 76 14             	push   0x14(%esi)
40b0e0:	e8 0a a4 03 00       	call   0x4454ef
40b0e5:	8b 45 08             	mov    0x8(%ebp),%eax
40b0e8:	47                   	inc    %edi
40b0e9:	83 c0 2c             	add    $0x2c,%eax
40b0ec:	89 45 08             	mov    %eax,0x8(%ebp)
40b0ef:	3b 7b 04             	cmp    0x4(%ebx),%edi
40b0f2:	0f 82 60 ff ff ff    	jb     0x40b058
40b0f8:	5e                   	pop    %esi
40b0f9:	ff 33                	push   (%ebx)
40b0fb:	e8 99 88 ff ff       	call   0x403999
40b100:	5f                   	pop    %edi
40b101:	5b                   	pop    %ebx
40b102:	5d                   	pop    %ebp
40b103:	c2 04 00             	ret    $0x4
40b106:	55                   	push   %ebp
40b107:	8b ec                	mov    %esp,%ebp
40b109:	56                   	push   %esi
40b10a:	57                   	push   %edi
40b10b:	33 ff                	xor    %edi,%edi
40b10d:	57                   	push   %edi
40b10e:	ff 15 ec b0 44 00    	call   *0x44b0ec
40b114:	8b f0                	mov    %eax,%esi
40b116:	85 f6                	test   %esi,%esi
40b118:	75 40                	jne    0x40b15a
40b11a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
40b120:	0f b7 f8             	movzwl %ax,%edi
40b123:	81 cf 00 00 07 80    	or     $0x80070000,%edi
40b129:	85 c0                	test   %eax,%eax
40b12b:	0f 4e f8             	cmovle %eax,%edi
40b12e:	b8 05 40 00 80       	mov    $0x80004005,%eax
40b133:	85 ff                	test   %edi,%edi
40b135:	0f 49 f8             	cmovns %eax,%edi
40b138:	57                   	push   %edi
40b139:	68 40 01 00 00       	push   $0x140
40b13e:	68 d4 ed 44 00       	push   $0x44edd4
40b143:	e8 8b 86 ff ff       	call   0x4037d3
40b148:	68 cc f1 44 00       	push   $0x44f1cc
40b14d:	57                   	push   %edi
40b14e:	e8 dc 4f 03 00       	call   0x44012f
40b153:	59                   	pop    %ecx
40b154:	59                   	pop    %ecx
40b155:	e9 4d 01 00 00       	jmp    0x40b2a7
40b15a:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40b15f:	66 3b 06             	cmp    (%esi),%ax
40b162:	74 1f                	je     0x40b183
40b164:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b169:	56                   	push   %esi
40b16a:	68 4a 01 00 00       	push   $0x14a
40b16f:	68 d4 ed 44 00       	push   $0x44edd4
40b174:	8b fe                	mov    %esi,%edi
40b176:	e8 58 86 ff ff       	call   0x4037d3
40b17b:	68 50 ee 44 00       	push   $0x44ee50
40b180:	56                   	push   %esi
40b181:	eb cb                	jmp    0x40b14e
40b183:	8b 4e 3c             	mov    0x3c(%esi),%ecx
40b186:	81 3c 31 50 45 00 00 	cmpl   $0x4550,(%ecx,%esi,1)
40b18d:	74 1e                	je     0x40b1ad
40b18f:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b194:	56                   	push   %esi
40b195:	68 55 01 00 00       	push   $0x155
40b19a:	68 d4 ed 44 00       	push   $0x44edd4
40b19f:	8b fe                	mov    %esi,%edi
40b1a1:	e8 2d 86 ff ff       	call   0x4037d3
40b1a6:	68 c0 ee 44 00       	push   $0x44eec0
40b1ab:	eb d3                	jmp    0x40b180
40b1ad:	0f b7 44 31 14       	movzwl 0x14(%ecx,%esi,1),%eax
40b1b2:	53                   	push   %ebx
40b1b3:	03 c1                	add    %ecx,%eax
40b1b5:	8d 5e 18             	lea    0x18(%esi),%ebx
40b1b8:	6a 08                	push   $0x8
40b1ba:	03 d8                	add    %eax,%ebx
40b1bc:	68 e4 ef 44 00       	push   $0x44efe4
40b1c1:	53                   	push   %ebx
40b1c2:	e8 52 47 02 00       	call   0x42f919
40b1c7:	83 c4 0c             	add    $0xc,%esp
40b1ca:	85 c0                	test   %eax,%eax
40b1cc:	74 24                	je     0x40b1f2
40b1ce:	8b 46 3c             	mov    0x3c(%esi),%eax
40b1d1:	0f b7 4c 30 06       	movzwl 0x6(%eax,%esi,1),%ecx
40b1d6:	33 c0                	xor    %eax,%eax
40b1d8:	40                   	inc    %eax
40b1d9:	3b c1                	cmp    %ecx,%eax
40b1db:	73 3c                	jae    0x40b219
40b1dd:	83 c3 28             	add    $0x28,%ebx
40b1e0:	40                   	inc    %eax
40b1e1:	81 3b 2e 77 69 78    	cmpl   $0x7869772e,(%ebx)
40b1e7:	75 f0                	jne    0x40b1d9
40b1e9:	81 7b 04 62 75 72 6e 	cmpl   $0x6e727562,0x4(%ebx)
40b1f0:	75 e7                	jne    0x40b1d9
40b1f2:	83 7b 10 34          	cmpl   $0x34,0x10(%ebx)
40b1f6:	73 3f                	jae    0x40b237
40b1f8:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b1fd:	56                   	push   %esi
40b1fe:	68 7a 01 00 00       	push   $0x17a
40b203:	68 d4 ed 44 00       	push   $0x44edd4
40b208:	8b fe                	mov    %esi,%edi
40b20a:	e8 c4 85 ff ff       	call   0x4037d3
40b20f:	ff 73 10             	push   0x10(%ebx)
40b212:	68 10 f0 44 00       	push   $0x44f010
40b217:	eb 48                	jmp    0x40b261
40b219:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40b21e:	56                   	push   %esi
40b21f:	68 6e 01 00 00       	push   $0x16e
40b224:	68 d4 ed 44 00       	push   $0x44edd4
40b229:	8b fe                	mov    %esi,%edi
40b22b:	e8 a3 85 ff ff       	call   0x4037d3
40b230:	68 f0 ef 44 00       	push   $0x44eff0
40b235:	eb 67                	jmp    0x40b29e
40b237:	8b 5b 0c             	mov    0xc(%ebx),%ebx
40b23a:	03 de                	add    %esi,%ebx
40b23c:	83 7b 04 02          	cmpl   $0x2,0x4(%ebx)
40b240:	74 2a                	je     0x40b26c
40b242:	be 0d 00 07 80       	mov    $0x8007000d,%esi