437f4b:	5d                   	pop    %ebp
437f4c:	c3                   	ret
437f4d:	55                   	push   %ebp
437f4e:	8b ec                	mov    %esp,%ebp
437f50:	83 ec 18             	sub    $0x18,%esp
437f53:	e8 41 21 ff ff       	call   0x42a099
437f58:	85 c0                	test   %eax,%eax
437f5a:	74 57                	je     0x437fb3
437f5c:	68 7c 0e 4a 00       	push   $0x4a0e7c
437f61:	68 70 33 49 00       	push   $0x493370
437f66:	ff 15 b8 f1 48 00    	call   *0x48f1b8
437f6c:	50                   	push   %eax
437f6d:	ff 15 a0 f1 48 00    	call   *0x48f1a0
437f73:	8b c8                	mov    %eax,%ecx
437f75:	85 c9                	test   %ecx,%ecx
437f77:	75 05                	jne    0x437f7e
437f79:	83 c8 ff             	or     $0xffffffff,%eax
437f7c:	eb 53                	jmp    0x437fd1
437f7e:	8b 45 1c             	mov    0x1c(%ebp),%eax
437f81:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
437f85:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437f89:	89 45 ec             	mov    %eax,-0x14(%ebp)
437f8c:	8b 45 20             	mov    0x20(%ebp),%eax
437f8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
437f92:	8b 45 14             	mov    0x14(%ebp),%eax
437f95:	89 45 f8             	mov    %eax,-0x8(%ebp)
437f98:	8d 45 e8             	lea    -0x18(%ebp),%eax
437f9b:	50                   	push   %eax
437f9c:	ff 75 18             	push   0x18(%ebp)
437f9f:	c7 45 e8 18 00 00 00 	movl   $0x18,-0x18(%ebp)
437fa6:	ff 75 10             	push   0x10(%ebp)
437fa9:	ff 75 0c             	push   0xc(%ebp)
437fac:	ff 75 08             	push   0x8(%ebp)
437faf:	ff d1                	call   *%ecx
437fb1:	eb 1e                	jmp    0x437fd1
437fb3:	8b 45 1c             	mov    0x1c(%ebp),%eax
437fb6:	0b 45 20             	or     0x20(%ebp),%eax
437fb9:	6a 00                	push   $0x0
437fbb:	50                   	push   %eax
437fbc:	ff 75 18             	push   0x18(%ebp)
437fbf:	ff 75 14             	push   0x14(%ebp)
437fc2:	ff 75 10             	push   0x10(%ebp)
437fc5:	ff 75 0c             	push   0xc(%ebp)
437fc8:	ff 75 08             	push   0x8(%ebp)
437fcb:	ff 15 d4 f1 48 00    	call   *0x48f1d4
437fd1:	8b e5                	mov    %ebp,%esp
437fd3:	5d                   	pop    %ebp
437fd4:	c3                   	ret
437fd5:	6a 14                	push   $0x14
437fd7:	68 b0 c0 4b 00       	push   $0x4bc0b0
437fdc:	e8 5f 0b ff ff       	call   0x428b40
437fe1:	33 c9                	xor    %ecx,%ecx
437fe3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
437fe6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
437fe9:	33 c0                	xor    %eax,%eax
437feb:	8b 75 18             	mov    0x18(%ebp),%esi
437fee:	85 f6                	test   %esi,%esi
437ff0:	0f 95 c0             	setne  %al
437ff3:	85 c0                	test   %eax,%eax
437ff5:	75 13                	jne    0x43800a
437ff7:	e8 6c 0d ff ff       	call   0x428d68
437ffc:	6a 16                	push   $0x16
437ffe:	5e                   	pop    %esi
437fff:	89 30                	mov    %esi,(%eax)
438001:	e8 f0 0f ff ff       	call   0x428ff6
438006:	8b c6                	mov    %esi,%eax
438008:	eb 5c                	jmp    0x438066
43800a:	83 0e ff             	orl    $0xffffffff,(%esi)
43800d:	33 c0                	xor    %eax,%eax
43800f:	39 45 08             	cmp    %eax,0x8(%ebp)
438012:	0f 95 c0             	setne  %al
438015:	85 c0                	test   %eax,%eax
438017:	74 de                	je     0x437ff7
438019:	39 4d 1c             	cmp    %ecx,0x1c(%ebp)
43801c:	74 0f                	je     0x43802d
43801e:	8b 45 14             	mov    0x14(%ebp),%eax
438021:	25 7f fe ff ff       	and    $0xfffffe7f,%eax
438026:	f7 d8                	neg    %eax
438028:	1b c0                	sbb    %eax,%eax
43802a:	40                   	inc    %eax
43802b:	74 ca                	je     0x437ff7
43802d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
438030:	ff 75 1c             	push   0x1c(%ebp)
438033:	ff 75 14             	push   0x14(%ebp)
438036:	ff 75 10             	push   0x10(%ebp)
438039:	ff 75 0c             	push   0xc(%ebp)
43803c:	ff 75 08             	push   0x8(%ebp)
43803f:	56                   	push   %esi
438040:	8d 45 e0             	lea    -0x20(%ebp),%eax
438043:	50                   	push   %eax
438044:	e8 55 00 00 00       	call   0x43809e
438049:	83 c4 1c             	add    $0x1c,%esp
43804c:	8b f8                	mov    %eax,%edi
43804e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
438051:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
438058:	e8 15 00 00 00       	call   0x438072
43805d:	85 ff                	test   %edi,%edi
43805f:	74 03                	je     0x438064
438061:	83 0e ff             	orl    $0xffffffff,(%esi)
438064:	8b c7                	mov    %edi,%eax
438066:	e8 1a 0b ff ff       	call   0x428b85
43806b:	c3                   	ret
43806c:	8b 75 18             	mov    0x18(%ebp),%esi
43806f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
438072:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
438076:	74 25                	je     0x43809d
438078:	85 ff                	test   %edi,%edi
43807a:	74 19                	je     0x438095
43807c:	8b 0e                	mov    (%esi),%ecx
43807e:	8b c1                	mov    %ecx,%eax
438080:	c1 f8 05             	sar    $0x5,%eax
438083:	83 e1 1f             	and    $0x1f,%ecx
438086:	c1 e1 06             	shl    $0x6,%ecx
438089:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
438090:	80 64 08 04 fe       	andb   $0xfe,0x4(%eax,%ecx,1)
438095:	ff 36                	push   (%esi)
438097:	e8 50 57 ff ff       	call   0x42d7ec
43809c:	59                   	pop    %ecx
43809d:	c3                   	ret
43809e:	55                   	push   %ebp
43809f:	8b ec                	mov    %esp,%ebp
4380a1:	83 ec 38             	sub    $0x38,%esp
4380a4:	53                   	push   %ebx
4380a5:	33 db                	xor    %ebx,%ebx
4380a7:	c7 45 c8 0c 00 00 00 	movl   $0xc,-0x38(%ebp)
4380ae:	f6 45 14 80          	testb  $0x80,0x14(%ebp)
4380b2:	57                   	push   %edi
4380b3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4380b6:	88 5d fe             	mov    %bl,-0x2(%ebp)
4380b9:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4380bc:	74 09                	je     0x4380c7
4380be:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4380c1:	c6 45 ff 10          	movb   $0x10,-0x1(%ebp)
4380c5:	eb 0a                	jmp    0x4380d1
4380c7:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
4380ce:	88 5d ff             	mov    %bl,-0x1(%ebp)
4380d1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4380d4:	50                   	push   %eax
4380d5:	e8 40 c6 fe ff       	call   0x42471a
4380da:	59                   	pop    %ecx
4380db:	85 c0                	test   %eax,%eax
4380dd:	0f 85 03 07 00 00    	jne    0x4387e6
4380e3:	8b 4d 14             	mov    0x14(%ebp),%ecx
4380e6:	b8 00 80 00 00       	mov    $0x8000,%eax
4380eb:	85 c8                	test   %ecx,%eax
4380ed:	75 11                	jne    0x438100
4380ef:	f7 c1 00 40 07 00    	test   $0x74000,%ecx
4380f5:	75 05                	jne    0x4380fc
4380f7:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4380fa:	74 04                	je     0x438100
4380fc:	80 4d ff 80          	orb    $0x80,-0x1(%ebp)
438100:	8b c1                	mov    %ecx,%eax
438102:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
438107:	83 e0 03             	and    $0x3,%eax
43810a:	2b c3                	sub    %ebx,%eax
43810c:	74 48                	je     0x438156
43810e:	48                   	dec    %eax
43810f:	74 2a                	je     0x43813b
438111:	48                   	dec    %eax
438112:	74 23                	je     0x438137
438114:	e8 1b 0c ff ff       	call   0x428d34
438119:	89 18                	mov    %ebx,(%eax)
43811b:	8b 45 0c             	mov    0xc(%ebp),%eax
43811e:	83 08 ff             	orl    $0xffffffff,(%eax)
438121:	e8 42 0c ff ff       	call   0x428d68
438126:	6a 16                	push   $0x16
438128:	5b                   	pop    %ebx
438129:	89 18                	mov    %ebx,(%eax)
43812b:	e8 c6 0e ff ff       	call   0x428ff6
438130:	8b c3                	mov    %ebx,%eax
438132:	e9 91 01 00 00       	jmp    0x4382c8
438137:	8b fa                	mov    %edx,%edi
438139:	eb 20                	jmp    0x43815b
43813b:	f6 c1 08             	test   $0x8,%cl
43813e:	74 0f                	je     0x43814f
438140:	f7 c1 00 00 07 00    	test   $0x70000,%ecx
438146:	74 07                	je     0x43814f
438148:	8b fa                	mov    %edx,%edi
43814a:	89 55 f8             	mov    %edx,-0x8(%ebp)
43814d:	eb 0f                	jmp    0x43815e
43814f:	bf 00 00 00 40       	mov    $0x40000000,%edi
438154:	eb 05                	jmp    0x43815b
438156:	bf 00 00 00 80       	mov    $0x80000000,%edi
43815b:	89 7d f8             	mov    %edi,-0x8(%ebp)
43815e:	8b 45 18             	mov    0x18(%ebp),%eax
438161:	56                   	push   %esi
438162:	6a 10                	push   $0x10
438164:	5e                   	pop    %esi
438165:	6a 02                	push   $0x2
438167:	5a                   	pop    %edx
438168:	89 55 d8             	mov    %edx,-0x28(%ebp)
43816b:	2b c6                	sub    %esi,%eax
43816d:	74 36                	je     0x4381a5
43816f:	2b c6                	sub    %esi,%eax
438171:	74 29                	je     0x43819c
438173:	2b c6                	sub    %esi,%eax
438175:	74 20                	je     0x438197
438177:	2b c6                	sub    %esi,%eax
438179:	74 13                	je     0x43818e
43817b:	83 e8 40             	sub    $0x40,%eax
43817e:	75 75                	jne    0x4381f5
438180:	81 ff 00 00 00 80    	cmp    $0x80000000,%edi
438186:	0f 94 c0             	sete   %al
438189:	89 45 f4             	mov    %eax,-0xc(%ebp)
43818c:	eb 1a                	jmp    0x4381a8
43818e:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
438195:	eb 11                	jmp    0x4381a8
438197:	89 55 f4             	mov    %edx,-0xc(%ebp)
43819a:	eb 0c                	jmp    0x4381a8
43819c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4381a3:	eb 03                	jmp    0x4381a8
4381a5:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4381a8:	8b c1                	mov    %ecx,%eax
4381aa:	be 00 04 00 00       	mov    $0x400,%esi
4381af:	25 00 07 00 00       	and    $0x700,%eax
4381b4:	3b c6                	cmp    %esi,%eax
4381b6:	7f 28                	jg     0x4381e0
4381b8:	74 21                	je     0x4381db
4381ba:	85 c0                	test   %eax,%eax
4381bc:	74 1d                	je     0x4381db
4381be:	3d 00 01 00 00       	cmp    $0x100,%eax
4381c3:	74 12                	je     0x4381d7
4381c5:	3d 00 02 00 00       	cmp    $0x200,%eax
4381ca:	74 4a                	je     0x438216
4381cc:	3d 00 03 00 00       	cmp    $0x300,%eax
4381d1:	75 22                	jne    0x4381f5
4381d3:	8b f2                	mov    %edx,%esi
4381d5:	eb 46                	jmp    0x43821d
4381d7:	6a 04                	push   $0x4
4381d9:	eb 02                	jmp    0x4381dd
4381db:	6a 03                	push   $0x3
4381dd:	5e                   	pop    %esi
4381de:	eb 3d                	jmp    0x43821d
4381e0:	3d 00 05 00 00       	cmp    $0x500,%eax
4381e5:	74 33                	je     0x43821a
4381e7:	3d 00 06 00 00       	cmp    $0x600,%eax
4381ec:	74 28                	je     0x438216
4381ee:	3d 00 07 00 00       	cmp    $0x700,%eax
4381f3:	74 25                	je     0x43821a
4381f5:	e8 3a 0b ff ff       	call   0x428d34
4381fa:	89 18                	mov    %ebx,(%eax)
4381fc:	8b 45 0c             	mov    0xc(%ebp),%eax
4381ff:	83 08 ff             	orl    $0xffffffff,(%eax)
438202:	e8 61 0b ff ff       	call   0x428d68
438207:	6a 16                	push   $0x16
438209:	5b                   	pop    %ebx
43820a:	89 18                	mov    %ebx,(%eax)
43820c:	e8 e5 0d ff ff       	call   0x428ff6
438211:	e9 c9 05 00 00       	jmp    0x4387df
438216:	6a 05                	push   $0x5
438218:	eb c3                	jmp    0x4381dd
43821a:	33 f6                	xor    %esi,%esi
43821c:	46                   	inc    %esi
43821d:	ba 80 00 00 00       	mov    $0x80,%edx
438222:	8b c3                	mov    %ebx,%eax
438224:	89 55 e8             	mov    %edx,-0x18(%ebp)
438227:	89 45 f0             	mov    %eax,-0x10(%ebp)
43822a:	f7 c1 00 01 00 00    	test   $0x100,%ecx
438230:	74 16                	je     0x438248
438232:	a1 c0 41 4c 00       	mov    0x4c41c0,%eax
438237:	f7 d0                	not    %eax
438239:	23 45 1c             	and    0x1c(%ebp),%eax
43823c:	84 c0                	test   %al,%al
43823e:	8b c3                	mov    %ebx,%eax
438240:	78 06                	js     0x438248
438242:	33 d2                	xor    %edx,%edx
438244:	42                   	inc    %edx
438245:	89 55 e8             	mov    %edx,-0x18(%ebp)
438248:	f6 c1 40             	test   $0x40,%cl
43824b:	74 15                	je     0x438262
43824d:	81 cf 00 00 01 00    	or     $0x10000,%edi
438253:	b8 00 00 00 04       	mov    $0x4000000,%eax
438258:	83 4d f4 04          	orl    $0x4,-0xc(%ebp)
43825c:	89 45 f0             	mov    %eax,-0x10(%ebp)
43825f:	89 7d f8             	mov    %edi,-0x8(%ebp)
438262:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
438268:	74 09                	je     0x438273
43826a:	81 ca 00 01 00 00    	or     $0x100,%edx
438270:	89 55 e8             	mov    %edx,-0x18(%ebp)
438273:	f7 c1 00 20 00 00    	test   $0x2000,%ecx
438279:	74 08                	je     0x438283
43827b:	0d 00 00 00 02       	or     $0x2000000,%eax
438280:	89 45 f0             	mov    %eax,-0x10(%ebp)
438283:	f6 c1 20             	test   $0x20,%cl
438286:	74 07                	je     0x43828f
438288:	0d 00 00 00 08       	or     $0x8000000,%eax
43828d:	eb 0a                	jmp    0x438299
43828f:	f6 c1 10             	test   $0x10,%cl
438292:	74 08                	je     0x43829c
438294:	0d 00 00 00 10       	or     $0x10000000,%eax
438299:	89 45 f0             	mov    %eax,-0x10(%ebp)
43829c:	e8 33 52 ff ff       	call   0x42d4d4
4382a1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4382a4:	89 07                	mov    %eax,(%edi)
4382a6:	83 f8 ff             	cmp    $0xffffffff,%eax
4382a9:	75 23                	jne    0x4382ce
4382ab:	e8 84 0a ff ff       	call   0x428d34
4382b0:	89 18                	mov    %ebx,(%eax)
4382b2:	83 0f ff             	orl    $0xffffffff,(%edi)
4382b5:	e8 ae 0a ff ff       	call   0x428d68
4382ba:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4382c0:	e8 a3 0a ff ff       	call   0x428d68
4382c5:	8b 00                	mov    (%eax),%eax
4382c7:	5e                   	pop    %esi
4382c8:	5f                   	pop    %edi
4382c9:	5b                   	pop    %ebx
4382ca:	8b e5                	mov    %ebp,%esp
4382cc:	5d                   	pop    %ebp
4382cd:	c3                   	ret
4382ce:	ff 75 f0             	push   -0x10(%ebp)
4382d1:	8b 45 08             	mov    0x8(%ebp),%eax
4382d4:	ff 75 e8             	push   -0x18(%ebp)
4382d7:	56                   	push   %esi
4382d8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4382de:	8d 45 c8             	lea    -0x38(%ebp),%eax
4382e1:	50                   	push   %eax
4382e2:	ff 75 f4             	push   -0xc(%ebp)
4382e5:	ff 75 f8             	push   -0x8(%ebp)
4382e8:	ff 75 10             	push   0x10(%ebp)
4382eb:	e8 5d fc ff ff       	call   0x437f4d
4382f0:	83 c4 1c             	add    $0x1c,%esp
4382f3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4382f6:	83 f8 ff             	cmp    $0xffffffff,%eax
4382f9:	75 73                	jne    0x43836e
4382fb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4382fe:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
438303:	8b c1                	mov    %ecx,%eax
438305:	23 c2                	and    %edx,%eax
438307:	3b c2                	cmp    %edx,%eax
438309:	75 31                	jne    0x43833c
43830b:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
43830f:	74 2b                	je     0x43833c
438311:	ff 75 f0             	push   -0x10(%ebp)
438314:	8d 45 c8             	lea    -0x38(%ebp),%eax
438317:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
43831d:	ff 75 e8             	push   -0x18(%ebp)
438320:	89 4d f8             	mov    %ecx,-0x8(%ebp)
438323:	56                   	push   %esi
438324:	50                   	push   %eax
438325:	ff 75 f4             	push   -0xc(%ebp)
438328:	51                   	push   %ecx
438329:	ff 75 10             	push   0x10(%ebp)
43832c:	e8 1c fc ff ff       	call   0x437f4d
438331:	83 c4 1c             	add    $0x1c,%esp
438334:	89 45 e4             	mov    %eax,-0x1c(%ebp)
438337:	83 f8 ff             	cmp    $0xffffffff,%eax
43833a:	75 32                	jne    0x43836e
43833c:	8b 0f                	mov    (%edi),%ecx
43833e:	8b c1                	mov    %ecx,%eax
438340:	c1 f8 05             	sar    $0x5,%eax