529e17:	8b c2                	mov    %edx,%eax
529e19:	6a ff                	push   $0xffffffff
529e1b:	1b c7                	sbb    %edi,%eax
529e1d:	01 4c 24 24          	add    %ecx,0x24(%esp)
529e21:	8b 7c 24 44          	mov    0x44(%esp),%edi
529e25:	68 00 00 e0 ff       	push   $0xffe00000
529e2a:	52                   	push   %edx
529e2b:	13 f8                	adc    %eax,%edi
529e2d:	56                   	push   %esi
529e2e:	89 7c 24 50          	mov    %edi,0x50(%esp)
529e32:	e8 49 80 0a 00       	call   0x5d1e80
529e37:	8b 74 24 20          	mov    0x20(%esp),%esi
529e3b:	03 e8                	add    %eax,%ebp
529e3d:	8b 84 24 70 01 00 00 	mov    0x170(%esp),%eax
529e44:	13 da                	adc    %edx,%ebx
529e46:	89 6c 24 34          	mov    %ebp,0x34(%esp)
529e4a:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
529e4e:	8b d7                	mov    %edi,%edx
529e50:	8b bc 24 6c 01 00 00 	mov    0x16c(%esp),%edi
529e57:	0f ac d6 15          	shrd   $0x15,%edx,%esi
529e5b:	0f a4 c7 15          	shld   $0x15,%eax,%edi
529e5f:	c1 fa 15             	sar    $0x15,%edx
529e62:	8b ce                	mov    %esi,%ecx
529e64:	c1 e0 15             	shl    $0x15,%eax
529e67:	2b c8                	sub    %eax,%ecx
529e69:	89 5c 24 44          	mov    %ebx,0x44(%esp)
529e6d:	8b 5c 24 30          	mov    0x30(%esp),%ebx
529e71:	8b c2                	mov    %edx,%eax
529e73:	6a ff                	push   $0xffffffff
529e75:	1b c7                	sbb    %edi,%eax
529e77:	03 e9                	add    %ecx,%ebp
529e79:	68 00 00 e0 ff       	push   $0xffe00000
529e7e:	52                   	push   %edx
529e7f:	13 d8                	adc    %eax,%ebx
529e81:	56                   	push   %esi
529e82:	89 5c 24 40          	mov    %ebx,0x40(%esp)
529e86:	e8 f5 7f 0a 00       	call   0x5d1e80
529e8b:	01 44 24 20          	add    %eax,0x20(%esp)
529e8f:	8b f5                	mov    %ebp,%esi
529e91:	8b 44 24 7c          	mov    0x7c(%esp),%eax
529e95:	11 54 24 40          	adc    %edx,0x40(%esp)
529e99:	8b d3                	mov    %ebx,%edx
529e9b:	8b bc 24 84 00 00 00 	mov    0x84(%esp),%edi
529ea2:	8b 5c 24 24          	mov    0x24(%esp),%ebx
529ea6:	0f ac d6 15          	shrd   $0x15,%edx,%esi
529eaa:	0f a4 c7 15          	shld   $0x15,%eax,%edi
529eae:	c1 fa 15             	sar    $0x15,%edx
529eb1:	8b ce                	mov    %esi,%ecx
529eb3:	c1 e0 15             	shl    $0x15,%eax
529eb6:	2b c8                	sub    %eax,%ecx
529eb8:	8b c2                	mov    %edx,%eax
529eba:	6a ff                	push   $0xffffffff
529ebc:	1b c7                	sbb    %edi,%eax
529ebe:	01 4c 24 18          	add    %ecx,0x18(%esp)
529ec2:	68 00 00 e0 ff       	push   $0xffe00000
529ec7:	52                   	push   %edx
529ec8:	13 d8                	adc    %eax,%ebx
529eca:	56                   	push   %esi
529ecb:	89 5c 24 34          	mov    %ebx,0x34(%esp)
529ecf:	e8 ac 7f 0a 00       	call   0x5d1e80
529ed4:	8b 7c 24 30          	mov    0x30(%esp),%edi
529ed8:	03 e8                	add    %eax,%ebp
529eda:	8b 74 24 14          	mov    0x14(%esp),%esi
529ede:	8b 44 24 5c          	mov    0x5c(%esp),%eax
529ee2:	13 fa                	adc    %edx,%edi
529ee4:	8b d3                	mov    %ebx,%edx
529ee6:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
529eea:	8b 9c 24 a0 00 00 00 	mov    0xa0(%esp),%ebx
529ef1:	8b 6c 24 18          	mov    0x18(%esp),%ebp
529ef5:	0f a4 c3 15          	shld   $0x15,%eax,%ebx
529ef9:	0f ac d6 15          	shrd   $0x15,%edx,%esi
529efd:	c1 e0 15             	shl    $0x15,%eax
529f00:	c1 fa 15             	sar    $0x15,%edx
529f03:	8b ce                	mov    %esi,%ecx
529f05:	2b c8                	sub    %eax,%ecx
529f07:	8b c2                	mov    %edx,%eax
529f09:	1b c3                	sbb    %ebx,%eax
529f0b:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
529f0f:	03 e9                	add    %ecx,%ebp
529f11:	89 6c 24 18          	mov    %ebp,0x18(%esp)
529f15:	6a ff                	push   $0xffffffff
529f17:	68 00 00 e0 ff       	push   $0xffe00000
529f1c:	52                   	push   %edx
529f1d:	56                   	push   %esi
529f1e:	13 d8                	adc    %eax,%ebx
529f20:	e8 5b 7f 0a 00       	call   0x5d1e80
529f25:	01 44 24 14          	add    %eax,0x14(%esp)
529f29:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
529f30:	8b c8                	mov    %eax,%ecx
529f32:	11 54 24 24          	adc    %edx,0x24(%esp)
529f36:	8b 94 24 90 01 00 00 	mov    0x190(%esp),%edx
529f3d:	8b b4 24 3c 01 00 00 	mov    0x13c(%esp),%esi
529f44:	88 02                	mov    %al,(%edx)
529f46:	8b 84 24 0c 01 00 00 	mov    0x10c(%esp),%eax
529f4d:	0f ac c1 08          	shrd   $0x8,%eax,%ecx
529f51:	8b c6                	mov    %esi,%eax
529f53:	88 4a 01             	mov    %cl,0x1(%edx)
529f56:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
529f5d:	0f a4 c8 05          	shld   $0x5,%ecx,%eax
529f61:	8b 84 24 0c 01 00 00 	mov    0x10c(%esp),%eax
529f68:	0f ac 84 24 a4 00 00 	shrd   $0x10,%eax,0xa4(%esp)
529f6f:	00 10
529f71:	c1 e1 05             	shl    $0x5,%ecx
529f74:	8b c6                	mov    %esi,%eax
529f76:	0a 8c 24 a4 00 00 00 	or     0xa4(%esp),%cl
529f7d:	88 4a 02             	mov    %cl,0x2(%edx)
529f80:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
529f87:	0f ac c1 03          	shrd   $0x3,%eax,%ecx
529f8b:	88 4a 03             	mov    %cl,0x3(%edx)
529f8e:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
529f95:	0f ac c1 0b          	shrd   $0xb,%eax,%ecx
529f99:	0f ac b4 24 80 00 00 	shrd   $0x13,%esi,0x80(%esp)
529fa0:	00 13
529fa2:	8b 84 24 9c 00 00 00 	mov    0x9c(%esp),%eax
529fa9:	88 4a 04             	mov    %cl,0x4(%edx)
529fac:	8b 4c 24 48          	mov    0x48(%esp),%ecx
529fb0:	0f a4 c8 02          	shld   $0x2,%ecx,%eax
529fb4:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
529fbb:	8b 74 24 64          	mov    0x64(%esp),%esi
529fbf:	c1 e1 02             	shl    $0x2,%ecx
529fc2:	0a c1                	or     %cl,%al
529fc4:	8b 4c 24 48          	mov    0x48(%esp),%ecx
529fc8:	88 42 05             	mov    %al,0x5(%edx)
529fcb:	8b 84 24 9c 00 00 00 	mov    0x9c(%esp),%eax
529fd2:	0f ac c1 06          	shrd   $0x6,%eax,%ecx
529fd6:	8b c6                	mov    %esi,%eax
529fd8:	88 4a 06             	mov    %cl,0x6(%edx)
529fdb:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
529fdf:	0f a4 c8 07          	shld   $0x7,%ecx,%eax
529fe3:	89 84 24 88 01 00 00 	mov    %eax,0x188(%esp)
529fea:	8b 84 24 9c 00 00 00 	mov    0x9c(%esp),%eax
529ff1:	0f ac 44 24 48 0e    	shrd   $0xe,%eax,0x48(%esp)
529ff7:	8b 44 24 48          	mov    0x48(%esp),%eax
529ffb:	c1 e1 07             	shl    $0x7,%ecx
529ffe:	0a c1                	or     %cl,%al
52a000:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
52a004:	88 42 07             	mov    %al,0x7(%edx)
52a007:	8b c6                	mov    %esi,%eax
52a009:	0f ac c1 01          	shrd   $0x1,%eax,%ecx
52a00d:	88 4a 08             	mov    %cl,0x8(%edx)
52a010:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
52a014:	0f ac 74 24 3c 11    	shrd   $0x11,%esi,0x3c(%esp)
52a01a:	8b 74 24 58          	mov    0x58(%esp),%esi
52a01e:	0f ac c1 09          	shrd   $0x9,%eax,%ecx
52a022:	8b c6                	mov    %esi,%eax
52a024:	88 4a 09             	mov    %cl,0x9(%edx)
52a027:	8b 4c 24 28          	mov    0x28(%esp),%ecx
52a02b:	0f a4 c8 04          	shld   $0x4,%ecx,%eax
52a02f:	8b 44 24 3c          	mov    0x3c(%esp),%eax
52a033:	c1 e1 04             	shl    $0x4,%ecx
52a036:	0a c1                	or     %cl,%al
52a038:	8b 4c 24 28          	mov    0x28(%esp),%ecx
52a03c:	88 42 0a             	mov    %al,0xa(%edx)
52a03f:	8b c6                	mov    %esi,%eax
52a041:	0f ac c1 04          	shrd   $0x4,%eax,%ecx
52a045:	88 4a 0b             	mov    %cl,0xb(%edx)
52a048:	8b 4c 24 28          	mov    0x28(%esp),%ecx
52a04c:	0f ac c1 0c          	shrd   $0xc,%eax,%ecx
52a050:	0f ac 74 24 28 14    	shrd   $0x14,%esi,0x28(%esp)
52a056:	8b 74 24 60          	mov    0x60(%esp),%esi
52a05a:	8b c6                	mov    %esi,%eax
52a05c:	88 4a 0c             	mov    %cl,0xc(%edx)
52a05f:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
52a063:	0f a4 c8 01          	shld   $0x1,%ecx,%eax
52a067:	8b 44 24 28          	mov    0x28(%esp),%eax
52a06b:	03 c9                	add    %ecx,%ecx
52a06d:	0a c1                	or     %cl,%al
52a06f:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
52a073:	88 42 0d             	mov    %al,0xd(%edx)
52a076:	8b c6                	mov    %esi,%eax
52a078:	0f ac c1 07          	shrd   $0x7,%eax,%ecx
52a07c:	8b 44 24 38          	mov    0x38(%esp),%eax
52a080:	88 4a 0e             	mov    %cl,0xe(%edx)
52a083:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52a087:	0f a4 c8 06          	shld   $0x6,%ecx,%eax
52a08b:	89 84 24 88 01 00 00 	mov    %eax,0x188(%esp)
52a092:	8b 44 24 4c          	mov    0x4c(%esp),%eax
52a096:	0f ac f0 0f          	shrd   $0xf,%esi,%eax
52a09a:	8b 74 24 38          	mov    0x38(%esp),%esi
52a09e:	c1 e1 06             	shl    $0x6,%ecx
52a0a1:	0a c1                	or     %cl,%al
52a0a3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52a0a7:	88 42 0f             	mov    %al,0xf(%edx)
52a0aa:	8b c6                	mov    %esi,%eax
52a0ac:	0f ac c1 02          	shrd   $0x2,%eax,%ecx
52a0b0:	88 4a 10             	mov    %cl,0x10(%edx)
52a0b3:	8b 4c 24 10          	mov    0x10(%esp),%ecx
52a0b7:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
52a0bb:	0f ac 74 24 10 12    	shrd   $0x12,%esi,0x10(%esp)
52a0c1:	8b 74 24 44          	mov    0x44(%esp),%esi
52a0c5:	8b c6                	mov    %esi,%eax
52a0c7:	88 4a 11             	mov    %cl,0x11(%edx)
52a0ca:	8b 4c 24 34          	mov    0x34(%esp),%ecx
52a0ce:	0f a4 c8 03          	shld   $0x3,%ecx,%eax
52a0d2:	8b 44 24 10          	mov    0x10(%esp),%eax
52a0d6:	c1 e1 03             	shl    $0x3,%ecx
52a0d9:	0a c1                	or     %cl,%al
52a0db:	8b 4c 24 34          	mov    0x34(%esp),%ecx
52a0df:	88 42 12             	mov    %al,0x12(%edx)
52a0e2:	8b c6                	mov    %esi,%eax
52a0e4:	0f ac c1 05          	shrd   $0x5,%eax,%ecx
52a0e8:	8b 44 24 34          	mov    0x34(%esp),%eax
52a0ec:	0f ac f0 0d          	shrd   $0xd,%esi,%eax
52a0f0:	8b 74 24 1c          	mov    0x1c(%esp),%esi
52a0f4:	88 42 14             	mov    %al,0x14(%edx)
52a0f7:	8b 44 24 20          	mov    0x20(%esp),%eax
52a0fb:	88 4a 13             	mov    %cl,0x13(%edx)
52a0fe:	8b c8                	mov    %eax,%ecx
52a100:	88 42 15             	mov    %al,0x15(%edx)
52a103:	8b 44 24 40          	mov    0x40(%esp),%eax
52a107:	0f ac c1 08          	shrd   $0x8,%eax,%ecx
52a10b:	8b c7                	mov    %edi,%eax
52a10d:	88 4a 16             	mov    %cl,0x16(%edx)
52a110:	8b ce                	mov    %esi,%ecx
52a112:	0f a4 c8 05          	shld   $0x5,%ecx,%eax
52a116:	8b 44 24 40          	mov    0x40(%esp),%eax
52a11a:	0f ac 44 24 20 10    	shrd   $0x10,%eax,0x20(%esp)
52a120:	c1 e1 05             	shl    $0x5,%ecx
52a123:	8b c7                	mov    %edi,%eax
52a125:	0a 4c 24 20          	or     0x20(%esp),%cl
52a129:	88 4a 17             	mov    %cl,0x17(%edx)
52a12c:	8b ce                	mov    %esi,%ecx
52a12e:	0f ac c1 03          	shrd   $0x3,%eax,%ecx
52a132:	88 4a 18             	mov    %cl,0x18(%edx)
52a135:	8b ce                	mov    %esi,%ecx
52a137:	0f ac c1 0b          	shrd   $0xb,%eax,%ecx
52a13b:	0f ac fe 13          	shrd   $0x13,%edi,%esi
52a13f:	88 4a 19             	mov    %cl,0x19(%edx)
52a142:	8b 4c 24 14          	mov    0x14(%esp),%ecx
52a146:	89 74 24 1c          	mov    %esi,0x1c(%esp)
52a14a:	8b 74 24 24          	mov    0x24(%esp),%esi
52a14e:	8b c6                	mov    %esi,%eax
52a150:	0f a4 c8 02          	shld   $0x2,%ecx,%eax
52a154:	8b 44 24 1c          	mov    0x1c(%esp),%eax
52a158:	c1 e1 02             	shl    $0x2,%ecx
52a15b:	0a c1                	or     %cl,%al
52a15d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
52a161:	88 42 1a             	mov    %al,0x1a(%edx)
52a164:	8b c6                	mov    %esi,%eax
52a166:	0f ac c1 06          	shrd   $0x6,%eax,%ecx
52a16a:	8b c3                	mov    %ebx,%eax
52a16c:	88 4a 1b             	mov    %cl,0x1b(%edx)
52a16f:	8b cd                	mov    %ebp,%ecx
52a171:	0f a4 c8 07          	shld   $0x7,%ecx,%eax
52a175:	89 84 24 88 01 00 00 	mov    %eax,0x188(%esp)
52a17c:	8b 44 24 14          	mov    0x14(%esp),%eax
52a180:	0f ac f0 0e          	shrd   $0xe,%esi,%eax
52a184:	c1 e1 07             	shl    $0x7,%ecx
52a187:	0a c1                	or     %cl,%al
52a189:	8b cd                	mov    %ebp,%ecx
52a18b:	88 42 1c             	mov    %al,0x1c(%edx)
52a18e:	8b c3                	mov    %ebx,%eax
52a190:	0f ac c1 01          	shrd   $0x1,%eax,%ecx
52a194:	5f                   	pop    %edi
52a195:	88 4a 1d             	mov    %cl,0x1d(%edx)
52a198:	8b cd                	mov    %ebp,%ecx
52a19a:	0f ac c1 09          	shrd   $0x9,%eax,%ecx
52a19e:	8b c5                	mov    %ebp,%eax
52a1a0:	5e                   	pop    %esi
52a1a1:	0f ac d8 11          	shrd   $0x11,%ebx,%eax
52a1a5:	5d                   	pop    %ebp
52a1a6:	88 4a 1e             	mov    %cl,0x1e(%edx)
52a1a9:	88 42 1f             	mov    %al,0x1f(%edx)
52a1ac:	5b                   	pop    %ebx
52a1ad:	81 c4 7c 01 00 00    	add    $0x17c,%esp
52a1b3:	c3                   	ret
52a1b4:	cc                   	int3
52a1b5:	cc                   	int3
52a1b6:	cc                   	int3
52a1b7:	cc                   	int3
52a1b8:	cc                   	int3
52a1b9:	cc                   	int3
52a1ba:	cc                   	int3
52a1bb:	cc                   	int3
52a1bc:	cc                   	int3
52a1bd:	cc                   	int3
52a1be:	cc                   	int3
52a1bf:	cc                   	int3
52a1c0:	b8 0c 00 00 00       	mov    $0xc,%eax
52a1c5:	e8 e6 75 0a 00       	call   0x5d17b0
52a1ca:	53                   	push   %ebx
52a1cb:	55                   	push   %ebp
52a1cc:	56                   	push   %esi
52a1cd:	8b 74 24 20          	mov    0x20(%esp),%esi
52a1d1:	33 d2                	xor    %edx,%edx
52a1d3:	57                   	push   %edi
52a1d4:	8b 7c 24 20          	mov    0x20(%esp),%edi
52a1d8:	8b c2                	mov    %edx,%eax
52a1da:	8a ca                	mov    %dl,%cl
52a1dc:	c1 e8 03             	shr    $0x3,%eax
52a1df:	80 e1 07             	and    $0x7,%cl
52a1e2:	8a 04 30             	mov    (%eax,%esi,1),%al
52a1e5:	d2 e8                	shr    %cl,%al
52a1e7:	24 01                	and    $0x1,%al
52a1e9:	88 04 3a             	mov    %al,(%edx,%edi,1)
52a1ec:	42                   	inc    %edx
52a1ed:	81 fa 00 01 00 00    	cmp    $0x100,%edx
52a1f3:	7c e3                	jl     0x52a1d8
52a1f5:	ba 01 00 00 00       	mov    $0x1,%edx
52a1fa:	8b c7                	mov    %edi,%eax
52a1fc:	2b d7                	sub    %edi,%edx
52a1fe:	89 44 24 10          	mov    %eax,0x10(%esp)
52a202:	b9 00 01 00 00       	mov    $0x100,%ecx
52a207:	89 54 24 18          	mov    %edx,0x18(%esp)
52a20b:	89 4c 24 14          	mov    %ecx,0x14(%esp)
52a20f:	90                   	nop
52a210:	80 38 00             	cmpb   $0x0,(%eax)
52a213:	0f 84 87 00 00 00    	je     0x52a2a0
52a219:	be 01 00 00 00       	mov    $0x1,%esi
52a21e:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
52a221:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
52a227:	7d 6b                	jge    0x52a294
52a229:	8a 14 3b             	mov    (%ebx,%edi,1),%dl
52a22c:	84 d2                	test   %dl,%dl
52a22e:	74 5d                	je     0x52a28d
52a230:	8a 30                	mov    (%eax),%dh
52a232:	8b ce                	mov    %esi,%ecx
52a234:	0f be ea             	movsbl %dl,%ebp
52a237:	d3 e5                	shl    %cl,%ebp
52a239:	0f be ce             	movsbl %dh,%ecx
52a23c:	8d 04 29             	lea    (%ecx,%ebp,1),%eax
52a23f:	83 f8 0f             	cmp    $0xf,%eax
52a242:	7f 12                	jg     0x52a256
52a244:	8b 44 24 10          	mov    0x10(%esp),%eax
52a248:	8b ce                	mov    %esi,%ecx
52a24a:	d2 e2                	shl    %cl,%dl
52a24c:	02 d6                	add    %dh,%dl
52a24e:	88 10                	mov    %dl,(%eax)
52a250:	c6 04 3b 00          	movb   $0x0,(%ebx,%edi,1)
52a254:	eb 37                	jmp    0x52a28d
52a256:	2b cd                	sub    %ebp,%ecx
52a258:	83 f9 f1             	cmp    $0xfffffff1,%ecx
52a25b:	7c 37                	jl     0x52a294
52a25d:	8b 44 24 10          	mov    0x10(%esp),%eax
52a261:	8b ce                	mov    %esi,%ecx
52a263:	d2 e2                	shl    %cl,%dl
52a265:	2a f2                	sub    %dl,%dh
52a267:	88 30                	mov    %dh,(%eax)
52a269:	8b c3                	mov    %ebx,%eax
52a26b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
52a270:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
52a274:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
52a277:	74 0d                	je     0x52a286
52a279:	40                   	inc    %eax
52a27a:	c6 01 00             	movb   $0x0,(%ecx)
52a27d:	3d 00 01 00 00       	cmp    $0x100,%eax
52a282:	7c ec                	jl     0x52a270
52a284:	eb 03                	jmp    0x52a289
52a286:	c6 01 01             	movb   $0x1,(%ecx)
52a289:	8b 44 24 10          	mov    0x10(%esp),%eax