43e02f:	55                   	push   %ebp
43e030:	8b ec                	mov    %esp,%ebp
43e032:	ff 71 10             	push   0x10(%ecx)
43e035:	8b 4d 08             	mov    0x8(%ebp),%ecx
43e038:	e8 89 d2 fc ff       	call   0x40b2c6
43e03d:	8b 45 08             	mov    0x8(%ebp),%eax
43e040:	5d                   	pop    %ebp
43e041:	c2 04 00             	ret    $0x4
43e044:	8b 41 14             	mov    0x14(%ecx),%eax
43e047:	c3                   	ret
43e048:	8a 41 0c             	mov    0xc(%ecx),%al
43e04b:	c3                   	ret
43e04c:	8b 41 1c             	mov    0x1c(%ecx),%eax
43e04f:	c3                   	ret
43e050:	55                   	push   %ebp
43e051:	8b ec                	mov    %esp,%ebp
43e053:	56                   	push   %esi
43e054:	8b 75 08             	mov    0x8(%ebp),%esi
43e057:	8b ce                	mov    %esi,%ecx
43e059:	ff 75 18             	push   0x18(%ebp)
43e05c:	83 66 10 00          	andl   $0x0,0x10(%esi)
43e060:	83 66 14 00          	andl   $0x0,0x14(%esi)
43e064:	e8 76 9b fd ff       	call   0x417bdf
43e069:	8b c6                	mov    %esi,%eax
43e06b:	5e                   	pop    %esi
43e06c:	5d                   	pop    %ebp
43e06d:	c2 14 00             	ret    $0x14
43e070:	6a 34                	push   $0x34
43e072:	b8 d1 2d 49 00       	mov    $0x492dd1,%eax
43e077:	e8 02 1a 00 00       	call   0x43fa7e
43e07c:	8b 55 28             	mov    0x28(%ebp),%edx
43e07f:	8b 45 20             	mov    0x20(%ebp),%eax
43e082:	8b 5d 08             	mov    0x8(%ebp),%ebx
43e085:	8b 75 24             	mov    0x24(%ebp),%esi
43e088:	89 55 c0             	mov    %edx,-0x40(%ebp)
43e08b:	8d 55 e4             	lea    -0x1c(%ebp),%edx
43e08e:	52                   	push   %edx
43e08f:	50                   	push   %eax
43e090:	ff 75 1c             	push   0x1c(%ebp)
43e093:	8d 45 14             	lea    0x14(%ebp),%eax
43e096:	50                   	push   %eax
43e097:	8d 45 0c             	lea    0xc(%ebp),%eax
43e09a:	50                   	push   %eax
43e09b:	8d 45 cc             	lea    -0x34(%ebp),%eax
43e09e:	50                   	push   %eax
43e09f:	e8 12 ea ff ff       	call   0x43cab6
43e0a4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e0a8:	8d 45 14             	lea    0x14(%ebp),%eax
43e0ab:	50                   	push   %eax
43e0ac:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e0af:	e8 81 e1 fe ff       	call   0x42c235
43e0b4:	84 c0                	test   %al,%al
43e0b6:	74 03                	je     0x43e0bb
43e0b8:	83 0e 01             	orl    $0x1,(%esi)
43e0bb:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
43e0bf:	74 37                	je     0x43e0f8
43e0c1:	83 7d e0 10          	cmpl   $0x10,-0x20(%ebp)
43e0c5:	8d 7d cc             	lea    -0x34(%ebp),%edi
43e0c8:	72 03                	jb     0x43e0cd
43e0ca:	8b 7d cc             	mov    -0x34(%ebp),%edi
43e0cd:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
43e0d1:	8d 45 c8             	lea    -0x38(%ebp),%eax
43e0d4:	50                   	push   %eax
43e0d5:	6a 00                	push   $0x0
43e0d7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
43e0da:	50                   	push   %eax
43e0db:	57                   	push   %edi
43e0dc:	e8 9e ec fd ff       	call   0x41cd7f
43e0e1:	83 c4 10             	add    $0x10,%esp
43e0e4:	39 7d c4             	cmp    %edi,-0x3c(%ebp)
43e0e7:	74 0d                	je     0x43e0f6
43e0e9:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
43e0ed:	75 07                	jne    0x43e0f6
43e0ef:	8b 45 c0             	mov    -0x40(%ebp),%eax
43e0f2:	dd 18                	fstpl  (%eax)
43e0f4:	eb 05                	jmp    0x43e0fb
43e0f6:	dd d8                	fstp   %st(0)
43e0f8:	83 0e 02             	orl    $0x2,(%esi)
43e0fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e0fe:	89 0b                	mov    %ecx,(%ebx)
43e100:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e103:	89 4b 04             	mov    %ecx,0x4(%ebx)
43e106:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43e109:	e8 c6 f1 fd ff       	call   0x41d2d4
43e10e:	8b c3                	mov    %ebx,%eax
43e110:	e8 13 19 00 00       	call   0x43fa28
43e115:	c2 24 00             	ret    $0x24
43e118:	6a 30                	push   $0x30
43e11a:	b8 fe 2d 49 00       	mov    $0x492dfe,%eax
43e11f:	e8 5a 19 00 00       	call   0x43fa7e
43e124:	8b 45 08             	mov    0x8(%ebp),%eax
43e127:	8d 55 e4             	lea    -0x1c(%ebp),%edx
43e12a:	8b 5d 24             	mov    0x24(%ebp),%ebx
43e12d:	8b 7d 28             	mov    0x28(%ebp),%edi
43e130:	52                   	push   %edx
43e131:	89 45 c4             	mov    %eax,-0x3c(%ebp)
43e134:	8b 45 20             	mov    0x20(%ebp),%eax
43e137:	50                   	push   %eax
43e138:	ff 75 1c             	push   0x1c(%ebp)
43e13b:	8d 45 14             	lea    0x14(%ebp),%eax
43e13e:	50                   	push   %eax
43e13f:	8d 45 0c             	lea    0xc(%ebp),%eax
43e142:	50                   	push   %eax
43e143:	8d 45 cc             	lea    -0x34(%ebp),%eax
43e146:	50                   	push   %eax
43e147:	e8 6a e9 ff ff       	call   0x43cab6
43e14c:	8b 45 dc             	mov    -0x24(%ebp),%eax
43e14f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
43e152:	89 45 c8             	mov    %eax,-0x38(%ebp)
43e155:	33 f6                	xor    %esi,%esi
43e157:	8d 45 14             	lea    0x14(%ebp),%eax
43e15a:	89 75 fc             	mov    %esi,-0x4(%ebp)
43e15d:	50                   	push   %eax
43e15e:	e8 d2 e0 fe ff       	call   0x42c235
43e163:	84 c0                	test   %al,%al
43e165:	74 03                	je     0x43e16a
43e167:	83 0b 01             	orl    $0x1,(%ebx)
43e16a:	39 75 c8             	cmp    %esi,-0x38(%ebp)
43e16d:	75 05                	jne    0x43e174
43e16f:	83 0b 02             	orl    $0x2,(%ebx)
43e172:	eb 56                	jmp    0x43e1ca
43e174:	8b 5d c8             	mov    -0x38(%ebp),%ebx
43e177:	8b cf                	mov    %edi,%ecx
43e179:	56                   	push   %esi
43e17a:	53                   	push   %ebx
43e17b:	e8 03 47 fe ff       	call   0x422883
43e180:	6a 10                	push   $0x10
43e182:	5a                   	pop    %edx
43e183:	8d 45 cc             	lea    -0x34(%ebp),%eax
43e186:	39 55 e0             	cmp    %edx,-0x20(%ebp)
43e189:	72 03                	jb     0x43e18e
43e18b:	8b 45 cc             	mov    -0x34(%ebp),%eax
43e18e:	80 38 2d             	cmpb   $0x2d,(%eax)
43e191:	75 33                	jne    0x43e1c6
43e193:	8b cf                	mov    %edi,%ecx
43e195:	39 57 14             	cmp    %edx,0x14(%edi)
43e198:	72 02                	jb     0x43e19c
43e19a:	8b 0f                	mov    (%edi),%ecx
43e19c:	8a 45 ee             	mov    -0x12(%ebp),%al
43e19f:	33 f6                	xor    %esi,%esi
43e1a1:	88 01                	mov    %al,(%ecx)
43e1a3:	46                   	inc    %esi
43e1a4:	eb 20                	jmp    0x43e1c6
43e1a6:	8d 45 cc             	lea    -0x34(%ebp),%eax
43e1a9:	39 55 e0             	cmp    %edx,-0x20(%ebp)
43e1ac:	72 03                	jb     0x43e1b1
43e1ae:	8b 45 cc             	mov    -0x34(%ebp),%eax
43e1b1:	8b cf                	mov    %edi,%ecx
43e1b3:	39 57 14             	cmp    %edx,0x14(%edi)
43e1b6:	72 02                	jb     0x43e1ba
43e1b8:	8b 0f                	mov    (%edi),%ecx
43e1ba:	0f be 04 30          	movsbl (%eax,%esi,1),%eax
43e1be:	8a 44 05 b4          	mov    -0x4c(%ebp,%eax,1),%al
43e1c2:	88 04 31             	mov    %al,(%ecx,%esi,1)
43e1c5:	46                   	inc    %esi
43e1c6:	3b f3                	cmp    %ebx,%esi
43e1c8:	72 dc                	jb     0x43e1a6
43e1ca:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
43e1cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e1d0:	89 0b                	mov    %ecx,(%ebx)
43e1d2:	8b 4d 10             	mov    0x10(%ebp),%ecx
43e1d5:	89 4b 04             	mov    %ecx,0x4(%ebx)
43e1d8:	8d 4d cc             	lea    -0x34(%ebp),%ecx
43e1db:	e8 f4 f0 fd ff       	call   0x41d2d4
43e1e0:	8b c3                	mov    %ebx,%eax
43e1e2:	e8 41 18 00 00       	call   0x43fa28
43e1e7:	c2 24 00             	ret    $0x24
43e1ea:	6a 10                	push   $0x10
43e1ec:	b8 2b 2e 49 00       	mov    $0x492e2b,%eax
43e1f1:	e8 54 18 00 00       	call   0x43fa4a
43e1f6:	8b f9                	mov    %ecx,%edi
43e1f8:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
43e1fb:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e1fe:	ff 73 30             	push   0x30(%ebx)
43e201:	e8 36 ac fe ff       	call   0x428e3c
43e206:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e20a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e20d:	50                   	push   %eax
43e20e:	e8 a9 aa fc ff       	call   0x408cbc
43e213:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
43e217:	59                   	pop    %ecx
43e218:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43e21b:	89 45 f0             	mov    %eax,-0x10(%ebp)
43e21e:	e8 c4 11 fd ff       	call   0x40f3e7
43e223:	8b 75 20             	mov    0x20(%ebp),%esi
43e226:	33 d2                	xor    %edx,%edx
43e228:	0f be 4d 28          	movsbl 0x28(%ebp),%ecx
43e22c:	83 c1 bf             	add    $0xffffffbf,%ecx
43e22f:	89 55 e8             	mov    %edx,-0x18(%ebp)
43e232:	89 16                	mov    %edx,(%esi)
43e234:	83 f9 38             	cmp    $0x38,%ecx
43e237:	0f 87 8d 02 00 00    	ja     0x43e4ca
43e23d:	0f b6 81 56 e5 43 00 	movzbl 0x43e556(%ecx),%eax
43e244:	ff 24 85 fa e4 43 00 	jmp    *0x43e4fa(,%eax,4)
43e24b:	ff 75 24             	push   0x24(%ebp)
43e24e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e251:	8b cf                	mov    %edi,%ecx
43e253:	56                   	push   %esi
43e254:	53                   	push   %ebx
43e255:	ff 75 18             	push   0x18(%ebp)
43e258:	ff 75 14             	push   0x14(%ebp)
43e25b:	ff 75 10             	push   0x10(%ebp)
43e25e:	ff 75 0c             	push   0xc(%ebp)
43e261:	50                   	push   %eax
43e262:	e8 43 0e 00 00       	call   0x43f0aa
43e267:	8b 08                	mov    (%eax),%ecx
43e269:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43e26c:	8b 40 04             	mov    0x4(%eax),%eax
43e26f:	89 45 10             	mov    %eax,0x10(%ebp)
43e272:	e9 59 02 00 00       	jmp    0x43e4d0
43e277:	ff 75 24             	push   0x24(%ebp)
43e27a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e27d:	8b cf                	mov    %edi,%ecx
43e27f:	56                   	push   %esi
43e280:	53                   	push   %ebx
43e281:	ff 75 18             	push   0x18(%ebp)
43e284:	ff 75 14             	push   0x14(%ebp)
43e287:	ff 75 10             	push   0x10(%ebp)
43e28a:	ff 75 0c             	push   0xc(%ebp)
43e28d:	50                   	push   %eax
43e28e:	e8 df 0d 00 00       	call   0x43f072
43e293:	eb d2                	jmp    0x43e267
43e295:	68 d8 a9 49 00       	push   $0x49a9d8
43e29a:	ff 75 24             	push   0x24(%ebp)
43e29d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e2a0:	8b cf                	mov    %edi,%ecx
43e2a2:	56                   	push   %esi
43e2a3:	53                   	push   %ebx
43e2a4:	ff 75 18             	push   0x18(%ebp)
43e2a7:	ff 75 14             	push   0x14(%ebp)
43e2aa:	ff 75 10             	push   0x10(%ebp)
43e2ad:	ff 75 0c             	push   0xc(%ebp)
43e2b0:	50                   	push   %eax
43e2b1:	e8 11 e5 ff ff       	call   0x43c7c7
43e2b6:	eb af                	jmp    0x43e267
43e2b8:	ff 75 f0             	push   -0x10(%ebp)
43e2bb:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e2be:	50                   	push   %eax
43e2bf:	6a 63                	push   $0x63
43e2c1:	52                   	push   %edx
43e2c2:	8d 45 14             	lea    0x14(%ebp),%eax
43e2c5:	50                   	push   %eax
43e2c6:	8d 45 0c             	lea    0xc(%ebp),%eax
43e2c9:	50                   	push   %eax
43e2ca:	57                   	push   %edi
43e2cb:	e8 27 e6 ff ff       	call   0x43c8f7
43e2d0:	8b 0e                	mov    (%esi),%ecx
43e2d2:	83 c4 1c             	add    $0x1c,%esp
43e2d5:	0b c8                	or     %eax,%ecx
43e2d7:	89 0e                	mov    %ecx,(%esi)
43e2d9:	f6 c1 02             	test   $0x2,%cl
43e2dc:	0f 85 ee 01 00 00    	jne    0x43e4d0
43e2e2:	8b 45 e8             	mov    -0x18(%ebp),%eax
43e2e5:	83 c0 ed             	add    $0xffffffed,%eax
43e2e8:	6b c8 64             	imul   $0x64,%eax,%ecx
43e2eb:	8b 45 24             	mov    0x24(%ebp),%eax
43e2ee:	89 48 14             	mov    %ecx,0x14(%eax)
43e2f1:	e9 da 01 00 00       	jmp    0x43e4d0
43e2f6:	ff 75 f0             	push   -0x10(%ebp)
43e2f9:	8b 45 24             	mov    0x24(%ebp),%eax
43e2fc:	83 c0 0c             	add    $0xc,%eax
43e2ff:	50                   	push   %eax
43e300:	6a 1f                	push   $0x1f
43e302:	6a 01                	push   $0x1
43e304:	8d 45 14             	lea    0x14(%ebp),%eax
43e307:	50                   	push   %eax
43e308:	8d 45 0c             	lea    0xc(%ebp),%eax
43e30b:	50                   	push   %eax
43e30c:	57                   	push   %edi
43e30d:	e8 e5 e5 ff ff       	call   0x43c8f7
43e312:	83 c4 1c             	add    $0x1c,%esp
43e315:	09 06                	or     %eax,(%esi)
43e317:	e9 b4 01 00 00       	jmp    0x43e4d0
43e31c:	68 f0 a9 49 00       	push   $0x49a9f0
43e321:	e9 74 ff ff ff       	jmp    0x43e29a
43e326:	ff 75 f0             	push   -0x10(%ebp)
43e329:	8b 45 24             	mov    0x24(%ebp),%eax
43e32c:	83 c0 08             	add    $0x8,%eax
43e32f:	50                   	push   %eax
43e330:	6a 17                	push   $0x17
43e332:	52                   	push   %edx
43e333:	eb cf                	jmp    0x43e304
43e335:	ff 75 f0             	push   -0x10(%ebp)
43e338:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e33b:	50                   	push   %eax
43e33c:	6a 0c                	push   $0xc
43e33e:	6a 01                	push   $0x1
43e340:	8d 45 14             	lea    0x14(%ebp),%eax
43e343:	50                   	push   %eax
43e344:	8d 45 0c             	lea    0xc(%ebp),%eax
43e347:	50                   	push   %eax
43e348:	57                   	push   %edi
43e349:	e8 a9 e5 ff ff       	call   0x43c8f7
43e34e:	8b 0e                	mov    (%esi),%ecx
43e350:	83 c4 1c             	add    $0x1c,%esp
43e353:	0b c8                	or     %eax,%ecx
43e355:	89 0e                	mov    %ecx,(%esi)
43e357:	f6 c1 02             	test   $0x2,%cl
43e35a:	0f 85 70 01 00 00    	jne    0x43e4d0
43e360:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43e363:	8b 45 24             	mov    0x24(%ebp),%eax
43e366:	83 e9 0c             	sub    $0xc,%ecx
43e369:	f7 d9                	neg    %ecx
43e36b:	1b c9                	sbb    %ecx,%ecx
43e36d:	23 4d e8             	and    -0x18(%ebp),%ecx
43e370:	89 48 08             	mov    %ecx,0x8(%eax)
43e373:	e9 58 01 00 00       	jmp    0x43e4d0
43e378:	ff 75 f0             	push   -0x10(%ebp)
43e37b:	8b 45 24             	mov    0x24(%ebp),%eax
43e37e:	83 c0 1c             	add    $0x1c,%eax
43e381:	50                   	push   %eax
43e382:	68 6e 01 00 00       	push   $0x16e
43e387:	e9 76 ff ff ff       	jmp    0x43e302
43e38c:	ff 75 f0             	push   -0x10(%ebp)
43e38f:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e392:	50                   	push   %eax
43e393:	6a 0c                	push   $0xc
43e395:	6a 01                	push   $0x1
43e397:	8d 45 14             	lea    0x14(%ebp),%eax
43e39a:	50                   	push   %eax
43e39b:	8d 45 0c             	lea    0xc(%ebp),%eax
43e39e:	50                   	push   %eax
43e39f:	57                   	push   %edi
43e3a0:	e8 52 e5 ff ff       	call   0x43c8f7
43e3a5:	8b 0e                	mov    (%esi),%ecx
43e3a7:	83 c4 1c             	add    $0x1c,%esp
43e3aa:	0b c8                	or     %eax,%ecx
43e3ac:	89 0e                	mov    %ecx,(%esi)
43e3ae:	f6 c1 02             	test   $0x2,%cl
43e3b1:	0f 85 19 01 00 00    	jne    0x43e4d0
43e3b7:	8b 45 24             	mov    0x24(%ebp),%eax
43e3ba:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43e3bd:	49                   	dec    %ecx
43e3be:	89 48 10             	mov    %ecx,0x10(%eax)
43e3c1:	e9 0a 01 00 00       	jmp    0x43e4d0
43e3c6:	ff 75 f0             	push   -0x10(%ebp)
43e3c9:	8b 45 24             	mov    0x24(%ebp),%eax
43e3cc:	83 c0 04             	add    $0x4,%eax
43e3cf:	50                   	push   %eax
43e3d0:	6a 3b                	push   $0x3b
43e3d2:	e9 5b ff ff ff       	jmp    0x43e332
43e3d7:	68 00 aa 49 00       	push   $0x49aa00
43e3dc:	e9 b9 fe ff ff       	jmp    0x43e29a
43e3e1:	68 04 aa 49 00       	push   $0x49aa04
43e3e6:	52                   	push   %edx
43e3e7:	8d 45 14             	lea    0x14(%ebp),%eax
43e3ea:	50                   	push   %eax
43e3eb:	8d 45 0c             	lea    0xc(%ebp),%eax
43e3ee:	50                   	push   %eax
43e3ef:	e8 cf a1 fe ff       	call   0x4285c3