52a881:	c1 e0 08             	shl    $0x8,%eax
52a884:	89 44 24 38          	mov    %eax,0x38(%esp)
52a888:	8b 84 24 ec 00 00 00 	mov    0xec(%esp),%eax
52a88f:	55                   	push   %ebp
52a890:	0f b6 40 26          	movzbl 0x26(%eax),%eax
52a894:	99                   	cltd
52a895:	09 44 24 3c          	or     %eax,0x3c(%esp)
52a899:	0b ca                	or     %edx,%ecx
52a89b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
52a89f:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52a8a3:	c1 e0 08             	shl    $0x8,%eax
52a8a6:	89 44 24 3c          	mov    %eax,0x3c(%esp)
52a8aa:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52a8b1:	0f b6 40 25          	movzbl 0x25(%eax),%eax
52a8b5:	99                   	cltd
52a8b6:	09 44 24 3c          	or     %eax,0x3c(%esp)
52a8ba:	0b ca                	or     %edx,%ecx
52a8bc:	8b 44 24 3c          	mov    0x3c(%esp),%eax
52a8c0:	0f a4 c1 02          	shld   $0x2,%eax,%ecx
52a8c4:	c1 e0 02             	shl    $0x2,%eax
52a8c7:	89 44 24 3c          	mov    %eax,0x3c(%esp)
52a8cb:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52a8d2:	0f b6 40 24          	movzbl 0x24(%eax),%eax
52a8d6:	c0 e8 06             	shr    $0x6,%al
52a8d9:	0f b6 c0             	movzbl %al,%eax
52a8dc:	99                   	cltd
52a8dd:	09 44 24 3c          	or     %eax,0x3c(%esp)
52a8e1:	0b ca                	or     %edx,%ecx
52a8e3:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
52a8e7:	e8 94 75 0a 00       	call   0x5d1e80
52a8ec:	29 44 24 2c          	sub    %eax,0x2c(%esp)
52a8f0:	6a 00                	push   $0x0
52a8f2:	19 54 24 70          	sbb    %edx,0x70(%esp)
52a8f6:	68 ad 39 0f 00       	push   $0xf39ad
52a8fb:	57                   	push   %edi
52a8fc:	56                   	push   %esi
52a8fd:	e8 7e 75 0a 00       	call   0x5d1e80
52a902:	29 44 24 2c          	sub    %eax,0x2c(%esp)
52a906:	6a 00                	push   $0x0
52a908:	19 54 24 70          	sbb    %edx,0x70(%esp)
52a90c:	68 d1 15 02 00       	push   $0x215d1
52a911:	ff 74 24 44          	push   0x44(%esp)
52a915:	ff b4 24 88 00 00 00 	push   0x88(%esp)
52a91c:	e8 5f 75 0a 00       	call   0x5d1e80
52a921:	01 44 24 2c          	add    %eax,0x2c(%esp)
52a925:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52a92c:	11 54 24 6c          	adc    %edx,0x6c(%esp)
52a930:	6a 00                	push   $0x0
52a932:	68 67 fb 09 00       	push   $0x9fb67
52a937:	0f b6 40 22          	movzbl 0x22(%eax),%eax
52a93b:	24 01                	and    $0x1,%al
52a93d:	0f b6 c0             	movzbl %al,%eax
52a940:	99                   	cltd
52a941:	8b ca                	mov    %edx,%ecx
52a943:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52a947:	ff 74 24 44          	push   0x44(%esp)
52a94b:	c1 e0 08             	shl    $0x8,%eax
52a94e:	89 44 24 24          	mov    %eax,0x24(%esp)
52a952:	8b 84 24 ec 00 00 00 	mov    0xec(%esp),%eax
52a959:	ff b4 24 88 00 00 00 	push   0x88(%esp)
52a960:	0f b6 40 21          	movzbl 0x21(%eax),%eax
52a964:	99                   	cltd
52a965:	09 44 24 28          	or     %eax,0x28(%esp)
52a969:	0b ca                	or     %edx,%ecx
52a96b:	8b 44 24 28          	mov    0x28(%esp),%eax
52a96f:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52a973:	c1 e0 08             	shl    $0x8,%eax
52a976:	89 44 24 28          	mov    %eax,0x28(%esp)
52a97a:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52a981:	0f b6 40 20          	movzbl 0x20(%eax),%eax
52a985:	99                   	cltd
52a986:	09 44 24 28          	or     %eax,0x28(%esp)
52a98a:	0b ca                	or     %edx,%ecx
52a98c:	8b 44 24 28          	mov    0x28(%esp),%eax
52a990:	0f a4 c1 04          	shld   $0x4,%eax,%ecx
52a994:	c1 e0 04             	shl    $0x4,%eax
52a997:	89 44 24 28          	mov    %eax,0x28(%esp)
52a99b:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52a9a2:	0f b6 40 1f          	movzbl 0x1f(%eax),%eax
52a9a6:	c0 e8 04             	shr    $0x4,%al
52a9a9:	0f b6 c0             	movzbl %al,%eax
52a9ac:	99                   	cltd
52a9ad:	09 44 24 28          	or     %eax,0x28(%esp)
52a9b1:	0b ca                	or     %edx,%ecx
52a9b3:	89 4c 24 54          	mov    %ecx,0x54(%esp)
52a9b7:	e8 c4 74 0a 00       	call   0x5d1e80
52a9bc:	01 44 24 18          	add    %eax,0x18(%esp)
52a9c0:	6a 00                	push   $0x0
52a9c2:	11 54 24 48          	adc    %edx,0x48(%esp)
52a9c6:	68 7d 6f 0a 00       	push   $0xa6f7d
52a9cb:	ff 74 24 6c          	push   0x6c(%esp)
52a9cf:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52a9d6:	e8 a5 74 0a 00       	call   0x5d1e80
52a9db:	29 44 24 18          	sub    %eax,0x18(%esp)
52a9df:	6a 00                	push   $0x0
52a9e1:	19 54 24 48          	sbb    %edx,0x48(%esp)
52a9e5:	68 ad 39 0f 00       	push   $0xf39ad
52a9ea:	53                   	push   %ebx
52a9eb:	55                   	push   %ebp
52a9ec:	e8 8f 74 0a 00       	call   0x5d1e80
52a9f1:	29 44 24 18          	sub    %eax,0x18(%esp)
52a9f5:	6a 00                	push   $0x0
52a9f7:	19 54 24 48          	sbb    %edx,0x48(%esp)
52a9fb:	68 18 2d 07 00       	push   $0x72d18
52aa00:	57                   	push   %edi
52aa01:	56                   	push   %esi
52aa02:	e8 79 74 0a 00       	call   0x5d1e80
52aa07:	01 44 24 18          	add    %eax,0x18(%esp)
52aa0b:	6a 00                	push   $0x0
52aa0d:	11 54 24 48          	adc    %edx,0x48(%esp)
52aa11:	68 d1 15 02 00       	push   $0x215d1
52aa16:	ff 74 24 54          	push   0x54(%esp)
52aa1a:	ff 74 24 7c          	push   0x7c(%esp)
52aa1e:	e8 5d 74 0a 00       	call   0x5d1e80
52aa23:	01 44 24 18          	add    %eax,0x18(%esp)
52aa27:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52aa2e:	11 54 24 44          	adc    %edx,0x44(%esp)
52aa32:	0f b6 40 12          	movzbl 0x12(%eax),%eax
52aa36:	24 07                	and    $0x7,%al
52aa38:	0f b6 c0             	movzbl %al,%eax
52aa3b:	99                   	cltd
52aa3c:	8b ca                	mov    %edx,%ecx
52aa3e:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52aa42:	c1 e0 08             	shl    $0x8,%eax
52aa45:	89 44 24 1c          	mov    %eax,0x1c(%esp)
52aa49:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52aa50:	6a 00                	push   $0x0
52aa52:	68 13 2c 0a 00       	push   $0xa2c13
52aa57:	ff 74 24 30          	push   0x30(%esp)
52aa5b:	0f b6 40 11          	movzbl 0x11(%eax),%eax
52aa5f:	99                   	cltd
52aa60:	09 44 24 28          	or     %eax,0x28(%esp)
52aa64:	0b ca                	or     %edx,%ecx
52aa66:	8b 44 24 28          	mov    0x28(%esp),%eax
52aa6a:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52aa6e:	ff 74 24 4c          	push   0x4c(%esp)
52aa72:	c1 e0 08             	shl    $0x8,%eax
52aa75:	89 44 24 2c          	mov    %eax,0x2c(%esp)
52aa79:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52aa80:	0f b6 40 10          	movzbl 0x10(%eax),%eax
52aa84:	99                   	cltd
52aa85:	09 44 24 2c          	or     %eax,0x2c(%esp)
52aa89:	0b ca                	or     %edx,%ecx
52aa8b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
52aa8f:	0f a4 c1 02          	shld   $0x2,%eax,%ecx
52aa93:	c1 e0 02             	shl    $0x2,%eax
52aa96:	89 44 24 2c          	mov    %eax,0x2c(%esp)
52aa9a:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52aaa1:	0f b6 40 0f          	movzbl 0xf(%eax),%eax
52aaa5:	c0 e8 06             	shr    $0x6,%al
52aaa8:	0f b6 c0             	movzbl %al,%eax
52aaab:	99                   	cltd
52aaac:	09 44 24 2c          	or     %eax,0x2c(%esp)
52aab0:	0b ca                	or     %edx,%ecx
52aab2:	89 8c 24 a4 00 00 00 	mov    %ecx,0xa4(%esp)
52aab9:	e8 c2 73 0a 00       	call   0x5d1e80
52aabe:	01 44 24 1c          	add    %eax,0x1c(%esp)
52aac2:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52aac9:	11 94 24 94 00 00 00 	adc    %edx,0x94(%esp)
52aad0:	6a 00                	push   $0x0
52aad2:	68 67 fb 09 00       	push   $0x9fb67
52aad7:	0f b6 40 17          	movzbl 0x17(%eax),%eax
52aadb:	ff 74 24 30          	push   0x30(%esp)
52aadf:	99                   	cltd
52aae0:	8b c8                	mov    %eax,%ecx
52aae2:	8b 84 24 ec 00 00 00 	mov    0xec(%esp),%eax
52aae9:	ff 74 24 4c          	push   0x4c(%esp)
52aaed:	0f a4 ca 10          	shld   $0x10,%ecx,%edx
52aaf1:	0f b6 40 15          	movzbl 0x15(%eax),%eax
52aaf5:	99                   	cltd
52aaf6:	c1 e1 10             	shl    $0x10,%ecx
52aaf9:	0b c8                	or     %eax,%ecx
52aafb:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52ab02:	81 e1 ff ff 1f 00    	and    $0x1fffff,%ecx
52ab08:	89 4c 24 40          	mov    %ecx,0x40(%esp)
52ab0c:	33 c9                	xor    %ecx,%ecx
52ab0e:	0f b6 40 16          	movzbl 0x16(%eax),%eax
52ab12:	99                   	cltd
52ab13:	0f a4 c2 08          	shld   $0x8,%eax,%edx
52ab17:	c1 e0 08             	shl    $0x8,%eax
52ab1a:	0b ca                	or     %edx,%ecx
52ab1c:	09 44 24 40          	or     %eax,0x40(%esp)
52ab20:	89 4c 24 60          	mov    %ecx,0x60(%esp)
52ab24:	e8 57 73 0a 00       	call   0x5d1e80
52ab29:	01 44 24 30          	add    %eax,0x30(%esp)
52ab2d:	6a 00                	push   $0x0
52ab2f:	11 54 24 54          	adc    %edx,0x54(%esp)
52ab33:	68 18 2d 07 00       	push   $0x72d18
52ab38:	ff 74 24 6c          	push   0x6c(%esp)
52ab3c:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52ab43:	e8 38 73 0a 00       	call   0x5d1e80
52ab48:	01 44 24 30          	add    %eax,0x30(%esp)
52ab4c:	6a 00                	push   $0x0
52ab4e:	11 54 24 54          	adc    %edx,0x54(%esp)
52ab52:	68 13 2c 0a 00       	push   $0xa2c13
52ab57:	ff 74 24 54          	push   0x54(%esp)
52ab5b:	ff 74 24 7c          	push   0x7c(%esp)
52ab5f:	e8 1c 73 0a 00       	call   0x5d1e80
52ab64:	01 44 24 30          	add    %eax,0x30(%esp)
52ab68:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52ab6f:	11 54 24 50          	adc    %edx,0x50(%esp)
52ab73:	0f b6 40 1c          	movzbl 0x1c(%eax),%eax
52ab77:	24 7f                	and    $0x7f,%al
52ab79:	0f b6 c0             	movzbl %al,%eax
52ab7c:	99                   	cltd
52ab7d:	8b ca                	mov    %edx,%ecx
52ab7f:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52ab83:	6a 00                	push   $0x0
52ab85:	c1 e0 08             	shl    $0x8,%eax
52ab88:	89 44 24 28          	mov    %eax,0x28(%esp)
52ab8c:	8b 84 24 e4 00 00 00 	mov    0xe4(%esp),%eax
52ab93:	68 67 fb 09 00       	push   $0x9fb67
52ab98:	ff 74 24 54          	push   0x54(%esp)
52ab9c:	0f b6 40 1b          	movzbl 0x1b(%eax),%eax
52aba0:	99                   	cltd
52aba1:	09 44 24 30          	or     %eax,0x30(%esp)
52aba5:	0b ca                	or     %edx,%ecx
52aba7:	8b 44 24 30          	mov    0x30(%esp),%eax
52abab:	ff 74 24 7c          	push   0x7c(%esp)
52abaf:	0f a4 c1 06          	shld   $0x6,%eax,%ecx
52abb3:	c1 e0 06             	shl    $0x6,%eax
52abb6:	89 44 24 34          	mov    %eax,0x34(%esp)
52abba:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52abc1:	0f b6 40 1a          	movzbl 0x1a(%eax),%eax
52abc5:	c0 e8 02             	shr    $0x2,%al
52abc8:	0f b6 c0             	movzbl %al,%eax
52abcb:	99                   	cltd
52abcc:	09 44 24 34          	or     %eax,0x34(%esp)
52abd0:	0b ca                	or     %edx,%ecx
52abd2:	89 4c 24 64          	mov    %ecx,0x64(%esp)
52abd6:	e8 a5 72 0a 00       	call   0x5d1e80
52abdb:	01 44 24 24          	add    %eax,0x24(%esp)
52abdf:	6a 00                	push   $0x0
52abe1:	11 54 24 58          	adc    %edx,0x58(%esp)
52abe5:	68 ad 39 0f 00       	push   $0xf39ad
52abea:	ff 74 24 6c          	push   0x6c(%esp)
52abee:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52abf5:	e8 86 72 0a 00       	call   0x5d1e80
52abfa:	29 44 24 24          	sub    %eax,0x24(%esp)
52abfe:	6a 00                	push   $0x0
52ac00:	19 54 24 58          	sbb    %edx,0x58(%esp)
52ac04:	68 18 2d 07 00       	push   $0x72d18
52ac09:	53                   	push   %ebx
52ac0a:	55                   	push   %ebp
52ac0b:	e8 70 72 0a 00       	call   0x5d1e80
52ac10:	8b 6c 24 24          	mov    0x24(%esp),%ebp
52ac14:	8b 5c 24 54          	mov    0x54(%esp),%ebx
52ac18:	03 e8                	add    %eax,%ebp
52ac1a:	6a 00                	push   $0x0
52ac1c:	68 13 2c 0a 00       	push   $0xa2c13
52ac21:	ff 74 24 44          	push   0x44(%esp)
52ac25:	13 da                	adc    %edx,%ebx
52ac27:	ff b4 24 88 00 00 00 	push   0x88(%esp)
52ac2e:	e8 4d 72 0a 00       	call   0x5d1e80
52ac33:	6a 00                	push   $0x0
52ac35:	68 d1 15 02 00       	push   $0x215d1
52ac3a:	ff 74 24 30          	push   0x30(%esp)
52ac3e:	03 e8                	add    %eax,%ebp
52ac40:	ff 74 24 4c          	push   0x4c(%esp)
52ac44:	13 da                	adc    %edx,%ebx
52ac46:	e8 35 72 0a 00       	call   0x5d1e80
52ac4b:	03 e8                	add    %eax,%ebp
52ac4d:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52ac54:	89 6c 24 24          	mov    %ebp,0x24(%esp)
52ac58:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
52ac5c:	13 da                	adc    %edx,%ebx
52ac5e:	89 5c 24 54          	mov    %ebx,0x54(%esp)
52ac62:	81 c5 00 00 10 00    	add    $0x100000,%ebp
52ac68:	0f b6 40 14          	movzbl 0x14(%eax),%eax
52ac6c:	8b 9c 24 94 00 00 00 	mov    0x94(%esp),%ebx
52ac73:	99                   	cltd
52ac74:	83 d3 00             	adc    $0x0,%ebx
52ac77:	8b ca                	mov    %edx,%ecx
52ac79:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52ac7d:	0f ac dd 15          	shrd   $0x15,%ebx,%ebp
52ac81:	c1 e0 08             	shl    $0x8,%eax
52ac84:	89 44 24 38          	mov    %eax,0x38(%esp)
52ac88:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52ac8f:	c1 fb 15             	sar    $0x15,%ebx
52ac92:	89 ac 24 b4 00 00 00 	mov    %ebp,0xb4(%esp)
52ac99:	89 9c 24 b0 00 00 00 	mov    %ebx,0xb0(%esp)
52aca0:	0f b6 40 13          	movzbl 0x13(%eax),%eax
52aca4:	99                   	cltd
52aca5:	09 44 24 38          	or     %eax,0x38(%esp)
52aca9:	0b ca                	or     %edx,%ecx
52acab:	8b 44 24 38          	mov    0x38(%esp),%eax
52acaf:	0f a4 c1 05          	shld   $0x5,%eax,%ecx
52acb3:	c1 e0 05             	shl    $0x5,%eax
52acb6:	89 44 24 38          	mov    %eax,0x38(%esp)
52acba:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52acc1:	6a 00                	push   $0x0
52acc3:	68 18 2d 07 00       	push   $0x72d18
52acc8:	ff 74 24 30          	push   0x30(%esp)
52accc:	0f b6 40 12          	movzbl 0x12(%eax),%eax
52acd0:	ff 74 24 4c          	push   0x4c(%esp)
52acd4:	c0 e8 03             	shr    $0x3,%al
52acd7:	0f b6 c0             	movzbl %al,%eax
52acda:	99                   	cltd
52acdb:	09 44 24 48          	or     %eax,0x48(%esp)
52acdf:	0b ca                	or     %edx,%ecx
52ace1:	89 8c 24 a8 00 00 00 	mov    %ecx,0xa8(%esp)
52ace8:	e8 93 71 0a 00       	call   0x5d1e80
52aced:	01 44 24 38          	add    %eax,0x38(%esp)
52acf1:	6a 00                	push   $0x0
52acf3:	11 94 24 9c 00 00 00 	adc    %edx,0x9c(%esp)
52acfa:	68 13 2c 0a 00       	push   $0xa2c13
52acff:	ff 74 24 6c          	push   0x6c(%esp)
52ad03:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52ad0a:	e8 71 71 0a 00       	call   0x5d1e80
52ad0f:	8b 4c 24 38          	mov    0x38(%esp),%ecx
52ad13:	03 c8                	add    %eax,%ecx
52ad15:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
52ad1c:	6a 00                	push   $0x0
52ad1e:	13 c2                	adc    %edx,%eax
52ad20:	03 cd                	add    %ebp,%ecx
52ad22:	8b 6c 24 34          	mov    0x34(%esp),%ebp
52ad26:	13 c3                	adc    %ebx,%eax
52ad28:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
52ad2c:	8b 5c 24 54          	mov    0x54(%esp),%ebx
52ad30:	81 c5 00 00 10 00    	add    $0x100000,%ebp
52ad36:	89 84 24 9c 00 00 00 	mov    %eax,0x9c(%esp)
52ad3d:	8b 84 24 e4 00 00 00 	mov    0xe4(%esp),%eax
52ad44:	83 d3 00             	adc    $0x0,%ebx
52ad47:	68 67 fb 09 00       	push   $0x9fb67
52ad4c:	ff 74 24 6c          	push   0x6c(%esp)
52ad50:	0f ac dd 15          	shrd   $0x15,%ebx,%ebp
52ad54:	0f b6 40 1a          	movzbl 0x1a(%eax),%eax
52ad58:	24 03                	and    $0x3,%al
52ad5a:	c1 eb 15             	shr    $0x15,%ebx
52ad5d:	0f b6 c0             	movzbl %al,%eax
52ad60:	99                   	cltd
52ad61:	8b ca                	mov    %edx,%ecx
52ad63:	89 6c 24 20          	mov    %ebp,0x20(%esp)
52ad67:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52ad6b:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52ad72:	c1 e0 08             	shl    $0x8,%eax
52ad75:	89 44 24 30          	mov    %eax,0x30(%esp)
52ad79:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52ad80:	89 5c 24 44          	mov    %ebx,0x44(%esp)
52ad84:	0f b6 40 19          	movzbl 0x19(%eax),%eax
52ad88:	99                   	cltd
52ad89:	09 44 24 30          	or     %eax,0x30(%esp)
52ad8d:	0b ca                	or     %edx,%ecx
52ad8f:	8b 44 24 30          	mov    0x30(%esp),%eax
52ad93:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52ad97:	c1 e0 08             	shl    $0x8,%eax
52ad9a:	89 44 24 30          	mov    %eax,0x30(%esp)
52ad9e:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52ada5:	0f b6 40 18          	movzbl 0x18(%eax),%eax
52ada9:	99                   	cltd