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
52adaa:	09 44 24 30          	or     %eax,0x30(%esp)
52adae:	0b ca                	or     %edx,%ecx
52adb0:	8b 44 24 30          	mov    0x30(%esp),%eax
52adb4:	0f a4 c1 03          	shld   $0x3,%eax,%ecx
52adb8:	c1 e0 03             	shl    $0x3,%eax
52adbb:	89 44 24 30          	mov    %eax,0x30(%esp)
52adbf:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52adc6:	0f b6 40 17          	movzbl 0x17(%eax),%eax
52adca:	c0 e8 05             	shr    $0x5,%al
52adcd:	0f b6 c0             	movzbl %al,%eax
52add0:	99                   	cltd
52add1:	09 44 24 30          	or     %eax,0x30(%esp)
52add5:	0b ca                	or     %edx,%ecx
52add7:	89 8c 24 9c 00 00 00 	mov    %ecx,0x9c(%esp)
52adde:	e8 9d 70 0a 00       	call   0x5d1e80
52ade3:	01 44 24 20          	add    %eax,0x20(%esp)
52ade7:	6a 00                	push   $0x0
52ade9:	11 94 24 90 00 00 00 	adc    %edx,0x90(%esp)
52adf0:	68 ad 39 0f 00       	push   $0xf39ad
52adf5:	ff 74 24 30          	push   0x30(%esp)
52adf9:	ff 74 24 4c          	push   0x4c(%esp)
52adfd:	e8 7e 70 0a 00       	call   0x5d1e80
52ae02:	29 44 24 20          	sub    %eax,0x20(%esp)
52ae06:	6a 00                	push   $0x0
52ae08:	19 94 24 90 00 00 00 	sbb    %edx,0x90(%esp)
52ae0f:	68 18 2d 07 00       	push   $0x72d18
52ae14:	ff 74 24 54          	push   0x54(%esp)
52ae18:	ff 74 24 7c          	push   0x7c(%esp)
52ae1c:	e8 5f 70 0a 00       	call   0x5d1e80
52ae21:	01 44 24 20          	add    %eax,0x20(%esp)
52ae25:	6a 00                	push   $0x0
52ae27:	11 94 24 90 00 00 00 	adc    %edx,0x90(%esp)
52ae2e:	68 13 2c 0a 00       	push   $0xa2c13
52ae33:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
52ae3a:	ff b4 24 8c 00 00 00 	push   0x8c(%esp)
52ae41:	e8 3a 70 0a 00       	call   0x5d1e80
52ae46:	8b 4c 24 20          	mov    0x20(%esp),%ecx
52ae4a:	03 c8                	add    %eax,%ecx
52ae4c:	8b 84 24 8c 00 00 00 	mov    0x8c(%esp),%eax
52ae53:	6a 00                	push   $0x0
52ae55:	13 c2                	adc    %edx,%eax
52ae57:	03 cd                	add    %ebp,%ecx
52ae59:	8b 6c 24 28          	mov    0x28(%esp),%ebp
52ae5d:	13 c3                	adc    %ebx,%eax
52ae5f:	89 4c 24 24          	mov    %ecx,0x24(%esp)
52ae63:	8b 5c 24 58          	mov    0x58(%esp),%ebx
52ae67:	81 c5 00 00 10 00    	add    $0x100000,%ebp
52ae6d:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
52ae74:	8b 84 24 e4 00 00 00 	mov    0xe4(%esp),%eax
52ae7b:	83 d3 00             	adc    $0x0,%ebx
52ae7e:	68 67 fb 09 00       	push   $0x9fb67
52ae83:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
52ae8a:	0f ac dd 15          	shrd   $0x15,%ebx,%ebp
52ae8e:	0f b6 40 1f          	movzbl 0x1f(%eax),%eax
52ae92:	24 0f                	and    $0xf,%al
52ae94:	c1 fb 15             	sar    $0x15,%ebx
52ae97:	0f b6 c0             	movzbl %al,%eax
52ae9a:	99                   	cltd
52ae9b:	8b ca                	mov    %edx,%ecx
52ae9d:	89 6c 24 54          	mov    %ebp,0x54(%esp)
52aea1:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52aea5:	ff b4 24 8c 00 00 00 	push   0x8c(%esp)
52aeac:	c1 e0 08             	shl    $0x8,%eax
52aeaf:	89 44 24 20          	mov    %eax,0x20(%esp)
52aeb3:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52aeba:	89 5c 24 70          	mov    %ebx,0x70(%esp)
52aebe:	0f b6 40 1e          	movzbl 0x1e(%eax),%eax
52aec2:	99                   	cltd
52aec3:	09 44 24 20          	or     %eax,0x20(%esp)
52aec7:	0b ca                	or     %edx,%ecx
52aec9:	8b 44 24 20          	mov    0x20(%esp),%eax
52aecd:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52aed1:	c1 e0 08             	shl    $0x8,%eax
52aed4:	89 44 24 20          	mov    %eax,0x20(%esp)
52aed8:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52aedf:	0f b6 40 1d          	movzbl 0x1d(%eax),%eax
52aee3:	99                   	cltd
52aee4:	09 44 24 20          	or     %eax,0x20(%esp)
52aee8:	0b ca                	or     %edx,%ecx
52aeea:	8b 44 24 20          	mov    0x20(%esp),%eax
52aeee:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
52aef2:	03 c0                	add    %eax,%eax
52aef4:	89 44 24 20          	mov    %eax,0x20(%esp)
52aef8:	8b 84 24 f0 00 00 00 	mov    0xf0(%esp),%eax
52aeff:	0f b6 40 1c          	movzbl 0x1c(%eax),%eax
52af03:	c0 e8 07             	shr    $0x7,%al
52af06:	0f b6 c0             	movzbl %al,%eax
52af09:	99                   	cltd
52af0a:	09 44 24 20          	or     %eax,0x20(%esp)
52af0e:	0b ca                	or     %edx,%ecx
52af10:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
52af17:	e8 64 6f 0a 00       	call   0x5d1e80
52af1c:	01 44 24 10          	add    %eax,0x10(%esp)
52af20:	6a 00                	push   $0x0
52af22:	11 94 24 88 00 00 00 	adc    %edx,0x88(%esp)
52af29:	68 7d 6f 0a 00       	push   $0xa6f7d
52af2e:	ff 74 24 30          	push   0x30(%esp)
52af32:	ff 74 24 4c          	push   0x4c(%esp)
52af36:	e8 45 6f 0a 00       	call   0x5d1e80
52af3b:	29 44 24 10          	sub    %eax,0x10(%esp)
52af3f:	6a 00                	push   $0x0
52af41:	19 94 24 88 00 00 00 	sbb    %edx,0x88(%esp)
52af48:	68 ad 39 0f 00       	push   $0xf39ad
52af4d:	ff 74 24 54          	push   0x54(%esp)
52af51:	ff 74 24 7c          	push   0x7c(%esp)
52af55:	e8 26 6f 0a 00       	call   0x5d1e80
52af5a:	29 44 24 10          	sub    %eax,0x10(%esp)
52af5e:	6a 00                	push   $0x0
52af60:	19 94 24 88 00 00 00 	sbb    %edx,0x88(%esp)
52af67:	68 18 2d 07 00       	push   $0x72d18
52af6c:	ff 74 24 44          	push   0x44(%esp)
52af70:	ff b4 24 88 00 00 00 	push   0x88(%esp)
52af77:	e8 04 6f 0a 00       	call   0x5d1e80
52af7c:	01 44 24 10          	add    %eax,0x10(%esp)
52af80:	6a 00                	push   $0x0
52af82:	11 94 24 88 00 00 00 	adc    %edx,0x88(%esp)
52af89:	68 13 2c 0a 00       	push   $0xa2c13
52af8e:	57                   	push   %edi
52af8f:	56                   	push   %esi
52af90:	e8 eb 6e 0a 00       	call   0x5d1e80
52af95:	01 44 24 10          	add    %eax,0x10(%esp)
52af99:	8b b4 24 84 00 00 00 	mov    0x84(%esp),%esi
52afa0:	6a 00                	push   $0x0
52afa2:	68 d1 15 02 00       	push   $0x215d1
52afa7:	ff 74 24 6c          	push   0x6c(%esp)
52afab:	13 f2                	adc    %edx,%esi
52afad:	ff b4 24 94 00 00 00 	push   0x94(%esp)
52afb4:	e8 c7 6e 0a 00       	call   0x5d1e80
52afb9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52afbd:	03 c8                	add    %eax,%ecx
52afbf:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52afc6:	6a 00                	push   $0x0
52afc8:	13 f2                	adc    %edx,%esi
52afca:	03 cd                	add    %ebp,%ecx
52afcc:	89 4c 24 14          	mov    %ecx,0x14(%esp)
52afd0:	0f b6 40 24          	movzbl 0x24(%eax),%eax
52afd4:	13 f3                	adc    %ebx,%esi
52afd6:	8b 5c 24 48          	mov    0x48(%esp),%ebx
52afda:	89 b4 24 88 00 00 00 	mov    %esi,0x88(%esp)
52afe1:	8b 74 24 1c          	mov    0x1c(%esp),%esi
52afe5:	81 c6 00 00 10 00    	add    $0x100000,%esi
52afeb:	68 67 fb 09 00       	push   $0x9fb67
52aff0:	83 d3 00             	adc    $0x0,%ebx
52aff3:	24 3f                	and    $0x3f,%al
52aff5:	0f b6 c0             	movzbl %al,%eax
52aff8:	99                   	cltd
52aff9:	8b c8                	mov    %eax,%ecx
52affb:	8b ea                	mov    %edx,%ebp
52affd:	8b 84 24 e8 00 00 00 	mov    0xe8(%esp),%eax
52b004:	0f a4 cd 08          	shld   $0x8,%ecx,%ebp
52b008:	0f ac de 15          	shrd   $0x15,%ebx,%esi
52b00c:	c1 e1 08             	shl    $0x8,%ecx
52b00f:	0f b6 40 23          	movzbl 0x23(%eax),%eax
52b013:	99                   	cltd
52b014:	0b c8                	or     %eax,%ecx
52b016:	c1 fb 15             	sar    $0x15,%ebx
52b019:	8b 84 24 e8 00 00 00 	mov    0xe8(%esp),%eax
52b020:	0b ea                	or     %edx,%ebp
52b022:	0f a4 cd 07          	shld   $0x7,%ecx,%ebp
52b026:	57                   	push   %edi
52b027:	ff 74 24 74          	push   0x74(%esp)
52b02b:	0f b6 40 22          	movzbl 0x22(%eax),%eax
52b02f:	d0 e8                	shr    $1,%al
52b031:	0f b6 c0             	movzbl %al,%eax
52b034:	99                   	cltd
52b035:	c1 e1 07             	shl    $0x7,%ecx
52b038:	0b ea                	or     %edx,%ebp
52b03a:	0b c8                	or     %eax,%ecx
52b03c:	89 5c 24 74          	mov    %ebx,0x74(%esp)
52b040:	89 8c 24 88 00 00 00 	mov    %ecx,0x88(%esp)
52b047:	e8 34 6e 0a 00       	call   0x5d1e80
52b04c:	01 44 24 78          	add    %eax,0x78(%esp)
52b050:	6a 00                	push   $0x0
52b052:	68 7d 6f 0a 00       	push   $0xa6f7d
52b057:	ff 74 24 54          	push   0x54(%esp)