43e060:	50                   	push   %eax
43e061:	6a 04                	push   $0x4
43e063:	56                   	push   %esi
43e064:	68 d0 de 43 00       	push   $0x43ded0
43e069:	57                   	push   %edi
43e06a:	6a 00                	push   $0x0
43e06c:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
43e073:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
43e079:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
43e080:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
43e087:	ff 15 a4 21 45 00    	call   *0x4521a4
43e08d:	89 46 0c             	mov    %eax,0xc(%esi)
43e090:	85 c0                	test   %eax,%eax
43e092:	75 56                	jne    0x43e0ea
43e094:	e8 57 fc ff ff       	call   0x43dcf0
43e099:	83 c0 10             	add    $0x10,%eax
43e09c:	74 0a                	je     0x43e0a8
43e09e:	e8 4d fc ff ff       	call   0x43dcf0
43e0a3:	83 c0 14             	add    $0x14,%eax
43e0a6:	eb 02                	jmp    0x43e0aa
43e0a8:	33 c0                	xor    %eax,%eax
43e0aa:	83 3d 30 1a 45 00 99 	cmpl   $0xffffff99,0x451a30
43e0b1:	c7 00 e0 2e 41 00    	movl   $0x412ee0,(%eax)
43e0b7:	c7 40 04 fc 01 00 00 	movl   $0x1fc,0x4(%eax)
43e0be:	c7 40 08 99 ff ff ff 	movl   $0xffffff99,0x8(%eax)
43e0c5:	75 06                	jne    0x43e0cd
43e0c7:	ff 15 58 20 45 00    	call   *0x452058
43e0cd:	8b ce                	mov    %esi,%ecx
43e0cf:	bf 99 ff ff ff       	mov    $0xffffff99,%edi
43e0d4:	e8 97 00 00 00       	call   0x43e170
43e0d9:	8b c7                	mov    %edi,%eax
43e0db:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
43e0e1:	5f                   	pop    %edi
43e0e2:	5e                   	pop    %esi
43e0e3:	5b                   	pop    %ebx
43e0e4:	8b e5                	mov    %ebp,%esp
43e0e6:	5d                   	pop    %ebp
43e0e7:	c2 10 00             	ret    $0x10
43e0ea:	6a 02                	push   $0x2
43e0ec:	6a 02                	push   $0x2
43e0ee:	50                   	push   %eax
43e0ef:	ff 15 0c 21 45 00    	call   *0x45210c
43e0f5:	8b 45 08             	mov    0x8(%ebp),%eax
43e0f8:	ff 34 85 04 2f 41 00 	push   0x412f04(,%eax,4)
43e0ff:	ff 76 0c             	push   0xc(%esi)
43e102:	ff 15 dc 21 45 00    	call   *0x4521dc
43e108:	83 3d 24 11 45 00 01 	cmpl   $0x1,0x451124
43e10f:	75 0b                	jne    0x43e11c
43e111:	6a 01                	push   $0x1
43e113:	ff 76 0c             	push   0xc(%esi)
43e116:	ff 15 cc 21 45 00    	call   *0x4521cc
43e11c:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
43e123:	8b 46 04             	mov    0x4(%esi),%eax
43e126:	89 45 fc             	mov    %eax,-0x4(%ebp)
43e129:	8b 06                	mov    (%esi),%eax
43e12b:	89 45 f8             	mov    %eax,-0x8(%ebp)
43e12e:	89 75 f4             	mov    %esi,-0xc(%ebp)
43e131:	75 21                	jne    0x43e154
43e133:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
43e13a:	75 18                	jne    0x43e154
43e13c:	8d 45 fc             	lea    -0x4(%ebp),%eax
43e13f:	50                   	push   %eax
43e140:	8d 45 f8             	lea    -0x8(%ebp),%eax
43e143:	50                   	push   %eax
43e144:	8d 45 f4             	lea    -0xc(%ebp),%eax
43e147:	50                   	push   %eax
43e148:	6a 03                	push   $0x3
43e14a:	6a 25                	push   $0x25
43e14c:	e8 1f 92 00 00       	call   0x447370
43e151:	83 c4 14             	add    $0x14,%esp
43e154:	ff 76 0c             	push   0xc(%esi)
43e157:	ff 15 d8 21 45 00    	call   *0x4521d8
43e15d:	5f                   	pop    %edi
43e15e:	89 33                	mov    %esi,(%ebx)
43e160:	33 c0                	xor    %eax,%eax
43e162:	5e                   	pop    %esi
43e163:	5b                   	pop    %ebx
43e164:	8b e5                	mov    %ebp,%esp
43e166:	5d                   	pop    %ebp
43e167:	c2 10 00             	ret    $0x10
43e16a:	cc                   	int3
43e16b:	cc                   	int3
43e16c:	cc                   	int3
43e16d:	cc                   	int3
43e16e:	cc                   	int3
43e16f:	cc                   	int3
43e170:	8b ff                	mov    %edi,%edi
43e172:	55                   	push   %ebp
43e173:	8b ec                	mov    %esp,%ebp
43e175:	51                   	push   %ecx
43e176:	56                   	push   %esi
43e177:	8b f1                	mov    %ecx,%esi
43e179:	33 c0                	xor    %eax,%eax
43e17b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43e17e:	85 f6                	test   %esi,%esi
43e180:	74 5e                	je     0x43e1e0
43e182:	39 46 0c             	cmp    %eax,0xc(%esi)
43e185:	74 4f                	je     0x43e1d6
43e187:	ff 15 b4 21 45 00    	call   *0x4521b4
43e18d:	39 46 10             	cmp    %eax,0x10(%esi)
43e190:	75 14                	jne    0x43e1a6
43e192:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
43e196:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
43e19d:	75 21                	jne    0x43e1c0
43e19f:	33 c0                	xor    %eax,%eax
43e1a1:	5e                   	pop    %esi
43e1a2:	8b e5                	mov    %ebp,%esp
43e1a4:	5d                   	pop    %ebp
43e1a5:	c3                   	ret
43e1a6:	6a 00                	push   $0x0
43e1a8:	6a ff                	push   $0xffffffff
43e1aa:	ff 76 0c             	push   0xc(%esi)
43e1ad:	ff 15 24 22 45 00    	call   *0x452224
43e1b3:	8d 45 fc             	lea    -0x4(%ebp),%eax
43e1b6:	50                   	push   %eax
43e1b7:	ff 76 0c             	push   0xc(%esi)
43e1ba:	ff 15 ac 21 45 00    	call   *0x4521ac
43e1c0:	6a 00                	push   $0x0
43e1c2:	6a 02                	push   $0x2
43e1c4:	ff 76 0c             	push   0xc(%esi)
43e1c7:	ff 15 0c 21 45 00    	call   *0x45210c
43e1cd:	ff 76 0c             	push   0xc(%esi)
43e1d0:	ff 15 10 21 45 00    	call   *0x452110
43e1d6:	56                   	push   %esi
43e1d7:	ff 15 34 21 45 00    	call   *0x452134
43e1dd:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e1e0:	5e                   	pop    %esi
43e1e1:	8b e5                	mov    %ebp,%esp
43e1e3:	5d                   	pop    %ebp
43e1e4:	c3                   	ret
43e1e5:	cc                   	int3
43e1e6:	cc                   	int3
43e1e7:	cc                   	int3
43e1e8:	cc                   	int3
43e1e9:	cc                   	int3
43e1ea:	cc                   	int3
43e1eb:	cc                   	int3
43e1ec:	cc                   	int3
43e1ed:	cc                   	int3
43e1ee:	cc                   	int3
43e1ef:	cc                   	int3
43e1f0:	8b ff                	mov    %edi,%edi
43e1f2:	55                   	push   %ebp
43e1f3:	8b ec                	mov    %esp,%ebp
43e1f5:	33 c0                	xor    %eax,%eax
43e1f7:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
43e1fb:	77 0a                	ja     0x43e207
43e1fd:	c7 05 f0 1c 45 00 01 	movl   $0x1,0x451cf0
43e204:	00 00 00
43e207:	5d                   	pop    %ebp
43e208:	c2 04 00             	ret    $0x4
43e20b:	cc                   	int3
43e20c:	cc                   	int3
43e20d:	cc                   	int3
43e20e:	cc                   	int3
43e20f:	cc                   	int3
43e210:	83 3d a4 12 45 00 00 	cmpl   $0x0,0x4512a4
43e217:	74 17                	je     0x43e230
43e219:	6a 00                	push   $0x0
43e21b:	68 f0 e1 43 00       	push   $0x43e1f0
43e220:	ff 15 44 20 45 00    	call   *0x452044
43e226:	c7 05 a4 12 45 00 00 	movl   $0x0,0x4512a4
43e22d:	00 00 00
43e230:	a1 a8 12 45 00       	mov    0x4512a8,%eax
43e235:	85 c0                	test   %eax,%eax
43e237:	74 11                	je     0x43e24a
43e239:	50                   	push   %eax
43e23a:	ff 15 34 21 45 00    	call   *0x452134
43e240:	c7 05 a8 12 45 00 00 	movl   $0x0,0x4512a8
43e247:	00 00 00
43e24a:	a1 ac 12 45 00       	mov    0x4512ac,%eax
43e24f:	85 c0                	test   %eax,%eax
43e251:	74 11                	je     0x43e264
43e253:	50                   	push   %eax
43e254:	ff 15 34 21 45 00    	call   *0x452134
43e25a:	c7 05 ac 12 45 00 00 	movl   $0x0,0x4512ac
43e261:	00 00 00
43e264:	a1 b0 12 45 00       	mov    0x4512b0,%eax
43e269:	85 c0                	test   %eax,%eax
43e26b:	74 11                	je     0x43e27e
43e26d:	50                   	push   %eax
43e26e:	ff 15 34 21 45 00    	call   *0x452134
43e274:	c7 05 b0 12 45 00 00 	movl   $0x0,0x4512b0
43e27b:	00 00 00
43e27e:	a1 b4 12 45 00       	mov    0x4512b4,%eax
43e283:	85 c0                	test   %eax,%eax
43e285:	74 11                	je     0x43e298
43e287:	50                   	push   %eax
43e288:	ff 15 34 21 45 00    	call   *0x452134
43e28e:	c7 05 b4 12 45 00 00 	movl   $0x0,0x4512b4
43e295:	00 00 00
43e298:	a1 b8 12 45 00       	mov    0x4512b8,%eax
43e29d:	85 c0                	test   %eax,%eax
43e29f:	74 11                	je     0x43e2b2
43e2a1:	50                   	push   %eax
43e2a2:	ff 15 34 21 45 00    	call   *0x452134
43e2a8:	c7 05 b8 12 45 00 00 	movl   $0x0,0x4512b8
43e2af:	00 00 00
43e2b2:	a1 bc 12 45 00       	mov    0x4512bc,%eax
43e2b7:	85 c0                	test   %eax,%eax
43e2b9:	74 11                	je     0x43e2cc
43e2bb:	50                   	push   %eax
43e2bc:	ff 15 34 21 45 00    	call   *0x452134
43e2c2:	c7 05 bc 12 45 00 00 	movl   $0x0,0x4512bc
43e2c9:	00 00 00
43e2cc:	a1 c0 12 45 00       	mov    0x4512c0,%eax
43e2d1:	85 c0                	test   %eax,%eax
43e2d3:	74 11                	je     0x43e2e6
43e2d5:	50                   	push   %eax
43e2d6:	ff 15 34 21 45 00    	call   *0x452134
43e2dc:	c7 05 c0 12 45 00 00 	movl   $0x0,0x4512c0
43e2e3:	00 00 00
43e2e6:	c3                   	ret
43e2e7:	cc                   	int3
43e2e8:	cc                   	int3
43e2e9:	cc                   	int3
43e2ea:	cc                   	int3
43e2eb:	cc                   	int3
43e2ec:	cc                   	int3
43e2ed:	cc                   	int3
43e2ee:	cc                   	int3
43e2ef:	cc                   	int3
43e2f0:	8b ff                	mov    %edi,%edi
43e2f2:	55                   	push   %ebp
43e2f3:	8b ec                	mov    %esp,%ebp
43e2f5:	81 ec fc 07 00 00    	sub    $0x7fc,%esp
43e2fb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43e300:	33 c5                	xor    %ebp,%eax
43e302:	89 45 fc             	mov    %eax,-0x4(%ebp)
43e305:	83 3d b0 12 45 00 00 	cmpl   $0x0,0x4512b0
43e30c:	53                   	push   %ebx
43e30d:	56                   	push   %esi
43e30e:	57                   	push   %edi
43e30f:	c7 05 c4 12 45 00 01 	movl   $0x1,0x4512c4
43e316:	00 00 00
43e319:	75 42                	jne    0x43e35d
43e31b:	68 00 02 00 00       	push   $0x200
43e320:	6a 00                	push   $0x0
43e322:	ff 15 30 21 45 00    	call   *0x452130
43e328:	a3 b0 12 45 00       	mov    %eax,0x4512b0
43e32d:	85 c0                	test   %eax,%eax
43e32f:	75 2c                	jne    0x43e35d
43e331:	e8 ba f9 ff ff       	call   0x43dcf0
43e336:	83 c0 10             	add    $0x10,%eax
43e339:	74 14                	je     0x43e34f
43e33b:	e8 b0 f9 ff ff       	call   0x43dcf0
43e340:	83 c0 14             	add    $0x14,%eax
43e343:	c7 40 04 54 00 00 00 	movl   $0x54,0x4(%eax)
43e34a:	e9 b3 06 00 00       	jmp    0x43ea02
43e34f:	33 c0                	xor    %eax,%eax
43e351:	c7 40 04 54 00 00 00 	movl   $0x54,0x4(%eax)
43e358:	e9 a5 06 00 00       	jmp    0x43ea02
43e35d:	68 58 02 00 00       	push   $0x258
43e362:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e368:	c7 05 c8 12 45 00 01 	movl   $0x1,0x4512c8
43e36f:	00 00 00
43e372:	50                   	push   %eax
43e373:	6a 00                	push   $0x0
43e375:	ff 15 54 21 45 00    	call   *0x452154
43e37b:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e381:	8d 51 02             	lea    0x2(%ecx),%edx
43e384:	66 8b 01             	mov    (%ecx),%ax
43e387:	83 c1 02             	add    $0x2,%ecx
43e38a:	66 85 c0             	test   %ax,%ax
43e38d:	75 f5                	jne    0x43e384
43e38f:	2b ca                	sub    %edx,%ecx
43e391:	c7 05 b4 12 45 00 00 	movl   $0x0,0x4512b4
43e398:	00 00 00
43e39b:	d1 f9                	sar    $1,%ecx
43e39d:	8d 41 01             	lea    0x1(%ecx),%eax
43e3a0:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e3a3:	3b c1                	cmp    %ecx,%eax
43e3a5:	0f 82 3a 06 00 00    	jb     0x43e9e5
43e3ab:	83 f8 01             	cmp    $0x1,%eax
43e3ae:	0f 82 31 06 00 00    	jb     0x43e9e5
43e3b4:	56                   	push   %esi
43e3b5:	6a 00                	push   $0x0
43e3b7:	ff 15 30 21 45 00    	call   *0x452130
43e3bd:	8b c8                	mov    %eax,%ecx
43e3bf:	89 0d b4 12 45 00    	mov    %ecx,0x4512b4
43e3c5:	85 c9                	test   %ecx,%ecx
43e3c7:	0f 84 f2 05 00 00    	je     0x43e9bf
43e3cd:	d1 ee                	shr    $1,%esi
43e3cf:	8b c6                	mov    %esi,%eax
43e3d1:	f7 d8                	neg    %eax
43e3d3:	1b c0                	sbb    %eax,%eax
43e3d5:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e3da:	05 57 00 07 80       	add    $0x80070057,%eax
43e3df:	85 f6                	test   %esi,%esi
43e3e1:	74 10                	je     0x43e3f3
43e3e3:	51                   	push   %ecx
43e3e4:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e3ea:	8b d6                	mov    %esi,%edx
43e3ec:	50                   	push   %eax
43e3ed:	51                   	push   %ecx
43e3ee:	e8 bd 6e fd ff       	call   0x4152b0
43e3f3:	8b c8                	mov    %eax,%ecx
43e3f5:	e8 e6 a8 fe ff       	call   0x428ce0
43e3fa:	85 c0                	test   %eax,%eax
43e3fc:	0f 88 1f 06 00 00    	js     0x43ea21
43e402:	68 00 01 00 00       	push   $0x100
43e407:	8d 85 48 f9 ff ff    	lea    -0x6b8(%ebp),%eax
43e40d:	50                   	push   %eax
43e40e:	68 58 02 00 00       	push   $0x258
43e413:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e419:	50                   	push   %eax
43e41a:	6a 00                	push   $0x0
43e41c:	6a 00                	push   $0x0
43e41e:	6a 00                	push   $0x0
43e420:	6a 00                	push   $0x0
43e422:	ff 35 b4 12 45 00    	push   0x4512b4
43e428:	ff 15 e8 22 45 00    	call   *0x4522e8
43e42e:	8d 8d 48 fb ff ff    	lea    -0x4b8(%ebp),%ecx
43e434:	83 c4 24             	add    $0x24,%esp
43e437:	8d 51 02             	lea    0x2(%ecx),%edx
43e43a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43e440:	66 8b 01             	mov    (%ecx),%ax
43e443:	83 c1 02             	add    $0x2,%ecx
43e446:	66 85 c0             	test   %ax,%ax
43e449:	75 f5                	jne    0x43e440
43e44b:	2b ca                	sub    %edx,%ecx
43e44d:	c7 05 a8 12 45 00 00 	movl   $0x0,0x4512a8
43e454:	00 00 00
43e457:	d1 f9                	sar    $1,%ecx
43e459:	8d 41 01             	lea    0x1(%ecx),%eax
43e45c:	8d 34 00             	lea    (%eax,%eax,1),%esi
43e45f:	3b c1                	cmp    %ecx,%eax
43e461:	0f 82 7e 05 00 00    	jb     0x43e9e5
43e467:	83 f8 01             	cmp    $0x1,%eax
43e46a:	0f 82 75 05 00 00    	jb     0x43e9e5
43e470:	56                   	push   %esi
43e471:	6a 00                	push   $0x0
43e473:	ff 15 30 21 45 00    	call   *0x452130
43e479:	8b c8                	mov    %eax,%ecx
43e47b:	89 0d a8 12 45 00    	mov    %ecx,0x4512a8
43e481:	85 c9                	test   %ecx,%ecx
43e483:	0f 84 36 05 00 00    	je     0x43e9bf
43e489:	d1 ee                	shr    $1,%esi
43e48b:	8b c6                	mov    %esi,%eax
43e48d:	f7 d8                	neg    %eax
43e48f:	1b c0                	sbb    %eax,%eax
43e491:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
43e496:	05 57 00 07 80       	add    $0x80070057,%eax
43e49b:	85 f6                	test   %esi,%esi
43e49d:	74 10                	je     0x43e4af
43e49f:	51                   	push   %ecx
43e4a0:	8d 85 48 fb ff ff    	lea    -0x4b8(%ebp),%eax
43e4a6:	8b d6                	mov    %esi,%edx
43e4a8:	50                   	push   %eax
43e4a9:	51                   	push   %ecx