43ae0f:	6a 00                	push   $0x0
43ae11:	6a 00                	push   $0x0
43ae13:	6a 02                	push   $0x2
43ae15:	8d 44 24 28          	lea    0x28(%esp),%eax
43ae19:	50                   	push   %eax
43ae1a:	68 40 c0 09 00       	push   $0x9c040
43ae1f:	53                   	push   %ebx
43ae20:	ff 15 44 21 45 00    	call   *0x452144
43ae26:	85 c0                	test   %eax,%eax
43ae28:	75 0d                	jne    0x43ae37
43ae2a:	ff 15 6c 20 45 00    	call   *0x45206c
43ae30:	3d e5 03 00 00       	cmp    $0x3e5,%eax
43ae35:	75 17                	jne    0x43ae4e
43ae37:	6a 01                	push   $0x1
43ae39:	8d 44 24 24          	lea    0x24(%esp),%eax
43ae3d:	50                   	push   %eax
43ae3e:	8d 44 24 60          	lea    0x60(%esp),%eax
43ae42:	50                   	push   %eax
43ae43:	53                   	push   %ebx
43ae44:	ff 15 3c 21 45 00    	call   *0x45213c
43ae4a:	85 c0                	test   %eax,%eax
43ae4c:	75 2c                	jne    0x43ae7a
43ae4e:	ff 15 6c 20 45 00    	call   *0x45206c
43ae54:	8b 7c 24 10          	mov    0x10(%esp),%edi
43ae58:	8b c8                	mov    %eax,%ecx
43ae5a:	89 4c 24 24          	mov    %ecx,0x24(%esp)
43ae5e:	51                   	push   %ecx
43ae5f:	8b 07                	mov    (%edi),%eax
43ae61:	8b 70 10             	mov    0x10(%eax),%esi
43ae64:	8b ce                	mov    %esi,%ecx
43ae66:	ff 15 84 23 45 00    	call   *0x452384
43ae6c:	8b cf                	mov    %edi,%ecx
43ae6e:	ff d6                	call   *%esi
43ae70:	8b f8                	mov    %eax,%edi
43ae72:	85 ff                	test   %edi,%edi
43ae74:	0f 88 a7 01 00 00    	js     0x43b021
43ae7a:	6a 00                	push   $0x0
43ae7c:	6a 02                	push   $0x2
43ae7e:	53                   	push   %ebx
43ae7f:	ff 15 0c 21 45 00    	call   *0x45210c
43ae85:	53                   	push   %ebx
43ae86:	ff 15 10 21 45 00    	call   *0x452110
43ae8c:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
43ae90:	e8 bb 25 00 00       	call   0x43d450
43ae95:	8b 7c 24 28          	mov    0x28(%esp),%edi
43ae99:	6a 01                	push   $0x1
43ae9b:	8b 07                	mov    (%edi),%eax
43ae9d:	8b 30                	mov    (%eax),%esi
43ae9f:	8b ce                	mov    %esi,%ecx
43aea1:	ff 15 84 23 45 00    	call   *0x452384
43aea7:	8b cf                	mov    %edi,%ecx
43aea9:	ff d6                	call   *%esi
43aeab:	8b 44 24 38          	mov    0x38(%esp),%eax
43aeaf:	50                   	push   %eax
43aeb0:	ff 15 10 21 45 00    	call   *0x452110
43aeb6:	8b 44 24 34          	mov    0x34(%esp),%eax
43aeba:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43aebe:	50                   	push   %eax
43aebf:	8b 44 24 48          	mov    0x48(%esp),%eax
43aec3:	f7 d8                	neg    %eax
43aec5:	8b 33                	mov    (%ebx),%esi
43aec7:	1b c0                	sbb    %eax,%eax
43aec9:	83 e0 04             	and    $0x4,%eax
43aecc:	0b 44 24 50          	or     0x50(%esp),%eax
43aed0:	8b 76 60             	mov    0x60(%esi),%esi
43aed3:	8b ce                	mov    %esi,%ecx
43aed5:	50                   	push   %eax
43aed6:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
43aedd:	50                   	push   %eax
43aede:	ff 15 84 23 45 00    	call   *0x452384
43aee4:	8b cb                	mov    %ebx,%ecx
43aee6:	ff d6                	call   *%esi
43aee8:	8b f0                	mov    %eax,%esi
43aeea:	85 f6                	test   %esi,%esi
43aeec:	79 0e                	jns    0x43aefc
43aeee:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
43aef5:	50                   	push   %eax
43aef6:	ff 15 d4 20 45 00    	call   *0x4520d4
43aefc:	8b c6                	mov    %esi,%eax
43aefe:	5f                   	pop    %edi
43aeff:	5e                   	pop    %esi
43af00:	5b                   	pop    %ebx
43af01:	8b 8c 24 a0 02 00 00 	mov    0x2a0(%esp),%ecx
43af08:	33 cc                	xor    %esp,%ecx
43af0a:	e8 41 20 01 00       	call   0x44cf50
43af0f:	8b e5                	mov    %ebp,%esp
43af11:	5d                   	pop    %ebp
43af12:	c2 0c 00             	ret    $0xc
43af15:	e8 d6 2d 00 00       	call   0x43dcf0
43af1a:	83 c0 10             	add    $0x10,%eax
43af1d:	74 0a                	je     0x43af29
43af1f:	e8 cc 2d 00 00       	call   0x43dcf0
43af24:	83 c0 14             	add    $0x14,%eax
43af27:	eb 02                	jmp    0x43af2b
43af29:	33 c0                	xor    %eax,%eax
43af2b:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
43af32:	fc ff ff
43af35:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43af3b:	c7 40 04 14 07 00 00 	movl   $0x714,0x4(%eax)
43af42:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
43af49:	75 06                	jne    0x43af51
43af4b:	ff 15 58 20 45 00    	call   *0x452058
43af51:	bf 0d fc ff ff       	mov    $0xfffffc0d,%edi
43af56:	e9 e8 00 00 00       	jmp    0x43b043
43af5b:	f7 44 24 6c 00 02 00 	testl  $0x200,0x6c(%esp)
43af62:	00
43af63:	8b 54 24 14          	mov    0x14(%esp),%edx
43af67:	74 07                	je     0x43af70
43af69:	83 ca 08             	or     $0x8,%edx
43af6c:	89 54 24 14          	mov    %edx,0x14(%esp)
43af70:	50                   	push   %eax
43af71:	51                   	push   %ecx
43af72:	8b 4c 24 24          	mov    0x24(%esp),%ecx
43af76:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
43af7d:	8b 74 24 30          	mov    0x30(%esp),%esi
43af81:	52                   	push   %edx
43af82:	ff 74 24 48          	push   0x48(%esp)
43af86:	ff 74 24 60          	push   0x60(%esp)
43af8a:	53                   	push   %ebx
43af8b:	50                   	push   %eax
43af8c:	8b 44 24 2c          	mov    0x2c(%esp),%eax
43af90:	ff 70 04             	push   0x4(%eax)
43af93:	51                   	push   %ecx
43af94:	50                   	push   %eax
43af95:	8b ce                	mov    %esi,%ecx
43af97:	e8 54 d1 00 00       	call   0x4480f0
43af9c:	8b f8                	mov    %eax,%edi
43af9e:	85 ff                	test   %edi,%edi
43afa0:	0f 88 9d 00 00 00    	js     0x43b043
43afa6:	83 3d 68 1a 45 00 00 	cmpl   $0x0,0x451a68
43afad:	74 61                	je     0x43b010
43afaf:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
43afb6:	75 58                	jne    0x43b010
43afb8:	83 3d a4 14 45 00 00 	cmpl   $0x0,0x4514a4
43afbf:	74 4f                	je     0x43b010
43afc1:	83 3d 64 1a 45 00 00 	cmpl   $0x0,0x451a64
43afc8:	74 0e                	je     0x43afd8
43afca:	ff 15 b4 21 45 00    	call   *0x4521b4
43afd0:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
43afd6:	75 38                	jne    0x43b010
43afd8:	e8 53 f1 fe ff       	call   0x42a130
43afdd:	85 c0                	test   %eax,%eax
43afdf:	74 03                	je     0x43afe4
43afe1:	ff 40 18             	incl   0x18(%eax)
43afe4:	53                   	push   %ebx
43afe5:	56                   	push   %esi
43afe6:	ff 74 24 1c          	push   0x1c(%esp)
43afea:	8d 84 24 ac 00 00 00 	lea    0xac(%esp),%eax
43aff1:	50                   	push   %eax
43aff2:	68 5c 29 41 00       	push   $0x41295c
43aff7:	e8 d4 fb fe ff       	call   0x42abd0
43affc:	83 c4 14             	add    $0x14,%esp
43afff:	8b d0                	mov    %eax,%edx
43b001:	b9 34 00 00 00       	mov    $0x34,%ecx
43b006:	e8 d5 f9 fe ff       	call   0x42a9e0
43b00b:	e8 10 fa fe ff       	call   0x42aa20
43b010:	8b 44 24 34          	mov    0x34(%esp),%eax
43b014:	83 cb ff             	or     $0xffffffff,%ebx
43b017:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
43b01e:	00
43b01f:	89 30                	mov    %esi,(%eax)
43b021:	ff 74 24 24          	push   0x24(%esp)
43b025:	8b 74 24 14          	mov    0x14(%esp),%esi
43b029:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
43b030:	57                   	push   %edi
43b031:	6a 00                	push   $0x0
43b033:	50                   	push   %eax
43b034:	8b ce                	mov    %esi,%ecx
43b036:	e8 a5 da ff ff       	call   0x438ae0
43b03b:	85 ff                	test   %edi,%edi
43b03d:	0f 89 a5 00 00 00    	jns    0x43b0e8
43b043:	83 fb ff             	cmp    $0xffffffff,%ebx
43b046:	74 20                	je     0x43b068
43b048:	6a 00                	push   $0x0
43b04a:	6a 02                	push   $0x2
43b04c:	53                   	push   %ebx
43b04d:	ff 15 0c 21 45 00    	call   *0x45210c
43b053:	53                   	push   %ebx
43b054:	ff 15 10 21 45 00    	call   *0x452110
43b05a:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
43b061:	50                   	push   %eax
43b062:	ff 15 d4 20 45 00    	call   *0x4520d4
43b068:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43b06c:	85 c0                	test   %eax,%eax
43b06e:	74 50                	je     0x43b0c0
43b070:	8b c8                	mov    %eax,%ecx
43b072:	e8 d9 23 00 00       	call   0x43d450
43b077:	eb 47                	jmp    0x43b0c0
43b079:	33 ff                	xor    %edi,%edi
43b07b:	89 7c 24 28          	mov    %edi,0x28(%esp)
43b07f:	e8 6c 2c 00 00       	call   0x43dcf0
43b084:	83 c0 10             	add    $0x10,%eax
43b087:	74 0a                	je     0x43b093
43b089:	e8 62 2c 00 00       	call   0x43dcf0
43b08e:	83 c0 14             	add    $0x14,%eax
43b091:	eb 02                	jmp    0x43b095
43b093:	33 c0                	xor    %eax,%eax
43b095:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
43b09c:	fc ff ff
43b09f:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43b0a5:	c7 40 04 a8 06 00 00 	movl   $0x6a8,0x4(%eax)
43b0ac:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
43b0b3:	75 06                	jne    0x43b0bb
43b0b5:	ff 15 58 20 45 00    	call   *0x452058
43b0bb:	bf 0d fc ff ff       	mov    $0xfffffc0d,%edi
43b0c0:	8b 5c 24 28          	mov    0x28(%esp),%ebx
43b0c4:	85 db                	test   %ebx,%ebx
43b0c6:	74 12                	je     0x43b0da
43b0c8:	8b 03                	mov    (%ebx),%eax
43b0ca:	6a 01                	push   $0x1
43b0cc:	8b 30                	mov    (%eax),%esi
43b0ce:	8b ce                	mov    %esi,%ecx
43b0d0:	ff 15 84 23 45 00    	call   *0x452384
43b0d6:	8b cb                	mov    %ebx,%ecx
43b0d8:	ff d6                	call   *%esi
43b0da:	8b 44 24 34          	mov    0x34(%esp),%eax
43b0de:	8b 74 24 10          	mov    0x10(%esp),%esi
43b0e2:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
43b0e8:	8b 44 24 38          	mov    0x38(%esp),%eax
43b0ec:	85 c0                	test   %eax,%eax
43b0ee:	74 07                	je     0x43b0f7
43b0f0:	50                   	push   %eax
43b0f1:	ff 15 10 21 45 00    	call   *0x452110
43b0f7:	83 7c 24 48 00       	cmpl   $0x0,0x48(%esp)
43b0fc:	74 10                	je     0x43b10e
43b0fe:	6a 00                	push   $0x0
43b100:	6a 00                	push   $0x0
43b102:	68 2c 29 41 00       	push   $0x41292c
43b107:	8b ce                	mov    %esi,%ecx
43b109:	e8 d2 07 00 00       	call   0x43b8e0
43b10e:	8b 8c 24 ac 02 00 00 	mov    0x2ac(%esp),%ecx
43b115:	8b c7                	mov    %edi,%eax
43b117:	5f                   	pop    %edi
43b118:	5e                   	pop    %esi
43b119:	5b                   	pop    %ebx
43b11a:	33 cc                	xor    %esp,%ecx
43b11c:	e8 2f 1e 01 00       	call   0x44cf50
43b121:	8b e5                	mov    %ebp,%esp
43b123:	5d                   	pop    %ebp
43b124:	c2 0c 00             	ret    $0xc
43b127:	cc                   	int3
43b128:	cc                   	int3
43b129:	cc                   	int3
43b12a:	cc                   	int3
43b12b:	cc                   	int3
43b12c:	cc                   	int3
43b12d:	cc                   	int3
43b12e:	cc                   	int3
43b12f:	cc                   	int3
43b130:	8b ff                	mov    %edi,%edi
43b132:	55                   	push   %ebp
43b133:	8b ec                	mov    %esp,%ebp
43b135:	8b 55 10             	mov    0x10(%ebp),%edx
43b138:	56                   	push   %esi
43b139:	f7 da                	neg    %edx
43b13b:	57                   	push   %edi
43b13c:	ff 75 0c             	push   0xc(%ebp)
43b13f:	1b d2                	sbb    %edx,%edx
43b141:	8b f9                	mov    %ecx,%edi
43b143:	33 c0                	xor    %eax,%eax
43b145:	81 e2 00 00 01 00    	and    $0x10000,%edx
43b14b:	39 45 14             	cmp    %eax,0x14(%ebp)
43b14e:	8b 37                	mov    (%edi),%esi
43b150:	0f 95 c0             	setne  %al
43b153:	0b d0                	or     %eax,%edx
43b155:	52                   	push   %edx
43b156:	ff 75 08             	push   0x8(%ebp)
43b159:	8b 76 60             	mov    0x60(%esi),%esi
43b15c:	8b ce                	mov    %esi,%ecx
43b15e:	ff 15 84 23 45 00    	call   *0x452384
43b164:	8b cf                	mov    %edi,%ecx
43b166:	ff d6                	call   *%esi
43b168:	5f                   	pop    %edi
43b169:	5e                   	pop    %esi
43b16a:	5d                   	pop    %ebp
43b16b:	c2 10 00             	ret    $0x10
43b16e:	cc                   	int3
43b16f:	cc                   	int3
43b170:	8b ff                	mov    %edi,%edi
43b172:	55                   	push   %ebp
43b173:	8b ec                	mov    %esp,%ebp
43b175:	83 e4 f8             	and    $0xfffffff8,%esp
43b178:	81 ec 14 03 00 00    	sub    $0x314,%esp
43b17e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43b183:	33 c4                	xor    %esp,%eax
43b185:	89 84 24 10 03 00 00 	mov    %eax,0x310(%esp)
43b18c:	8b 45 10             	mov    0x10(%ebp),%eax
43b18f:	89 44 24 28          	mov    %eax,0x28(%esp)
43b193:	53                   	push   %ebx
43b194:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43b197:	8b c3                	mov    %ebx,%eax
43b199:	25 00 00 01 00       	and    $0x10000,%eax
43b19e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43b1a2:	89 44 24 20          	mov    %eax,0x20(%esp)
43b1a6:	8b c3                	mov    %ebx,%eax
43b1a8:	83 e0 04             	and    $0x4,%eax
43b1ab:	89 44 24 08          	mov    %eax,0x8(%esp)
43b1af:	8b c3                	mov    %ebx,%eax
43b1b1:	56                   	push   %esi
43b1b2:	8b 75 08             	mov    0x8(%ebp),%esi
43b1b5:	83 e0 02             	and    $0x2,%eax
43b1b8:	57                   	push   %edi
43b1b9:	89 44 24 24          	mov    %eax,0x24(%esp)
43b1bd:	8b f9                	mov    %ecx,%edi
43b1bf:	33 c0                	xor    %eax,%eax
43b1c1:	89 7c 24 14          	mov    %edi,0x14(%esp)
43b1c5:	6a 34                	push   $0x34
43b1c7:	50                   	push   %eax
43b1c8:	66 89 84 24 98 00 00 	mov    %ax,0x98(%esp)
43b1cf:	00
43b1d0:	89 44 24 34          	mov    %eax,0x34(%esp)
43b1d4:	8d 44 24 64          	lea    0x64(%esp),%eax
43b1d8:	50                   	push   %eax
43b1d9:	e8 83 28 01 00       	call   0x44da61
43b1de:	33 c0                	xor    %eax,%eax
43b1e0:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
43b1e7:	00
43b1e8:	89 44 24 44          	mov    %eax,0x44(%esp)
43b1ec:	83 c4 0c             	add    $0xc,%esp
43b1ef:	8b c3                	mov    %ebx,%eax
43b1f1:	f7 d0                	not    %eax
43b1f3:	83 e0 01             	and    $0x1,%eax
43b1f6:	68 88 02 00 00       	push   $0x288
43b1fb:	40                   	inc    %eax
43b1fc:	6a 00                	push   $0x0
43b1fe:	ff 35 00 12 45 00    	push   0x451200
43b204:	c1 e0 1c             	shl    $0x1c,%eax
43b207:	89 44 24 28          	mov    %eax,0x28(%esp)
43b20b:	ff 15 24 21 45 00    	call   *0x452124
43b211:	85 c0                	test   %eax,%eax
43b213:	0f 84 21 06 00 00    	je     0x43b83a
43b219:	8b c8                	mov    %eax,%ecx
43b21b:	e8 30 cc 00 00       	call   0x447e50
43b220:	89 44 24 18          	mov    %eax,0x18(%esp)
43b224:	85 c0                	test   %eax,%eax
43b226:	0f 84 16 06 00 00    	je     0x43b842
43b22c:	8b 07                	mov    (%edi),%eax
43b22e:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
43b235:	51                   	push   %ecx
43b236:	56                   	push   %esi
43b237:	8b 70 1c             	mov    0x1c(%eax),%esi
43b23a:	8b ce                	mov    %esi,%ecx
43b23c:	ff 15 84 23 45 00    	call   *0x452384
43b242:	8b cf                	mov    %edi,%ecx
43b244:	ff d6                	call   *%esi
43b246:	8b f0                	mov    %eax,%esi
43b248:	89 74 24 0c          	mov    %esi,0xc(%esp)
43b24c:	85 f6                	test   %esi,%esi
43b24e:	0f 88 32 06 00 00    	js     0x43b886
43b254:	eb 04                	jmp    0x43b25a