408d34:	eb e2                	jmp    0x408d18
408d36:	33 c0                	xor    %eax,%eax
408d38:	40                   	inc    %eax
408d39:	eb dd                	jmp    0x408d18
408d3b:	55                   	push   %ebp
408d3c:	8b ec                	mov    %esp,%ebp
408d3e:	51                   	push   %ecx
408d3f:	53                   	push   %ebx
408d40:	56                   	push   %esi
408d41:	57                   	push   %edi
408d42:	8b d9                	mov    %ecx,%ebx
408d44:	68 14 02 00 00       	push   $0x214
408d49:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408d4c:	e8 a5 82 01 00       	call   0x420ff6
408d51:	8b 7d 08             	mov    0x8(%ebp),%edi
408d54:	8b f0                	mov    %eax,%esi
408d56:	59                   	pop    %ecx
408d57:	8b 17                	mov    (%edi),%edx
408d59:	8b 52 08             	mov    0x8(%edx),%edx
408d5c:	89 56 08             	mov    %edx,0x8(%esi)
408d5f:	33 d2                	xor    %edx,%edx
408d61:	8b 0f                	mov    (%edi),%ecx
408d63:	8b 89 0c 01 00 00    	mov    0x10c(%ecx),%ecx
408d69:	89 8e 0c 01 00 00    	mov    %ecx,0x10c(%esi)
408d6f:	85 c9                	test   %ecx,%ecx
408d71:	7e 1c                	jle    0x408d8f
408d73:	6a 0c                	push   $0xc
408d75:	59                   	pop    %ecx
408d76:	6a 04                	push   $0x4
408d78:	5b                   	pop    %ebx
408d79:	8b 07                	mov    (%edi),%eax
408d7b:	42                   	inc    %edx
408d7c:	8b 04 01             	mov    (%ecx,%eax,1),%eax
408d7f:	89 04 31             	mov    %eax,(%ecx,%esi,1)
408d82:	03 cb                	add    %ebx,%ecx
408d84:	3b 96 0c 01 00 00    	cmp    0x10c(%esi),%edx
408d8a:	7c ed                	jl     0x408d79
408d8c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408d8f:	8b 07                	mov    (%edi),%eax
408d91:	33 d2                	xor    %edx,%edx
408d93:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
408d99:	89 86 10 02 00 00    	mov    %eax,0x210(%esi)
408d9f:	85 c0                	test   %eax,%eax
408da1:	7e 1e                	jle    0x408dc1
408da3:	6a 04                	push   $0x4
408da5:	b9 10 01 00 00       	mov    $0x110,%ecx
408daa:	5b                   	pop    %ebx
408dab:	8b 07                	mov    (%edi),%eax
408dad:	42                   	inc    %edx
408dae:	8b 04 01             	mov    (%ecx,%eax,1),%eax
408db1:	89 04 31             	mov    %eax,(%ecx,%esi,1)
408db4:	03 cb                	add    %ebx,%ecx
408db6:	3b 96 10 02 00 00    	cmp    0x210(%esi),%edx
408dbc:	7c ed                	jl     0x408dab
408dbe:	8b 5d fc             	mov    -0x4(%ebp),%ebx
408dc1:	8b 07                	mov    (%edi),%eax
408dc3:	33 c9                	xor    %ecx,%ecx
408dc5:	6a 04                	push   $0x4
408dc7:	5a                   	pop    %edx
408dc8:	8b 78 04             	mov    0x4(%eax),%edi
408dcb:	89 33                	mov    %esi,(%ebx)
408dcd:	8b 46 08             	mov    0x8(%esi),%eax
408dd0:	f7 e2                	mul    %edx
408dd2:	0f 90 c1             	seto   %cl
408dd5:	f7 d9                	neg    %ecx
408dd7:	0b c8                	or     %eax,%ecx
408dd9:	51                   	push   %ecx
408dda:	e8 17 82 01 00       	call   0x420ff6
408ddf:	59                   	pop    %ecx
408de0:	8b 0b                	mov    (%ebx),%ecx
408de2:	33 f6                	xor    %esi,%esi
408de4:	89 41 04             	mov    %eax,0x4(%ecx)
408de7:	8b 03                	mov    (%ebx),%eax
408de9:	39 70 08             	cmp    %esi,0x8(%eax)
408dec:	7e 2e                	jle    0x408e1c
408dee:	83 3c b7 00          	cmpl   $0x0,(%edi,%esi,4)
408df2:	74 35                	je     0x408e29
408df4:	6a 10                	push   $0x10
408df6:	e8 fb 81 01 00       	call   0x420ff6
408dfb:	59                   	pop    %ecx
408dfc:	85 c0                	test   %eax,%eax
408dfe:	74 25                	je     0x408e25
408e00:	ff 34 b7             	push   (%edi,%esi,4)
408e03:	8b c8                	mov    %eax,%ecx
408e05:	e8 c1 0f 00 00       	call   0x409dcb
408e0a:	8b c8                	mov    %eax,%ecx
408e0c:	8b 03                	mov    (%ebx),%eax
408e0e:	8b 40 04             	mov    0x4(%eax),%eax
408e11:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
408e14:	8b 03                	mov    (%ebx),%eax
408e16:	46                   	inc    %esi
408e17:	3b 70 08             	cmp    0x8(%eax),%esi
408e1a:	7c d2                	jl     0x408dee
408e1c:	5f                   	pop    %edi
408e1d:	5e                   	pop    %esi
408e1e:	5b                   	pop    %ebx
408e1f:	8b e5                	mov    %ebp,%esp
408e21:	5d                   	pop    %ebp
408e22:	c2 04 00             	ret    $0x4
408e25:	33 c9                	xor    %ecx,%ecx
408e27:	eb e3                	jmp    0x408e0c
408e29:	8b 03                	mov    (%ebx),%eax
408e2b:	8b 40 04             	mov    0x4(%eax),%eax
408e2e:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
408e32:	eb e0                	jmp    0x408e14
408e34:	56                   	push   %esi
408e35:	8b f1                	mov    %ecx,%esi
408e37:	e8 46 05 00 00       	call   0x409382
408e3c:	84 c0                	test   %al,%al
408e3e:	74 25                	je     0x408e65
408e40:	8b ce                	mov    %esi,%ecx
408e42:	e8 79 04 00 00       	call   0x4092c0
408e47:	8b 06                	mov    (%esi),%eax
408e49:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
408e50:	ff 36                	push   (%esi)
408e52:	e8 15 82 01 00       	call   0x42106c
408e57:	59                   	pop    %ecx
408e58:	56                   	push   %esi
408e59:	e8 0e 82 01 00       	call   0x42106c
408e5e:	59                   	pop    %ecx
408e5f:	8b c6                	mov    %esi,%eax
408e61:	5e                   	pop    %esi
408e62:	c2 04 00             	ret    $0x4
408e65:	8b 06                	mov    (%esi),%eax
408e67:	ff 08                	decl   (%eax)
408e69:	eb ed                	jmp    0x408e58
408e6b:	55                   	push   %ebp
408e6c:	8b ec                	mov    %esp,%ebp
408e6e:	8b 45 08             	mov    0x8(%ebp),%eax
408e71:	85 c0                	test   %eax,%eax
408e73:	75 0c                	jne    0x408e81
408e75:	8b 01                	mov    (%ecx),%eax
408e77:	8b 80 0c 01 00 00    	mov    0x10c(%eax),%eax
408e7d:	5d                   	pop    %ebp
408e7e:	c2 04 00             	ret    $0x4
408e81:	78 10                	js     0x408e93
408e83:	8b 09                	mov    (%ecx),%ecx
408e85:	3b 81 0c 01 00 00    	cmp    0x10c(%ecx),%eax
408e8b:	7f 06                	jg     0x408e93
408e8d:	8b 44 81 08          	mov    0x8(%ecx,%eax,4),%eax
408e91:	eb ea                	jmp    0x408e7d
408e93:	33 c0                	xor    %eax,%eax
408e95:	eb e6                	jmp    0x408e7d
408e97:	cc                   	int3
408e98:	cc                   	int3
408e99:	cc                   	int3
408e9a:	cc                   	int3
408e9b:	cc                   	int3
408e9c:	cc                   	int3
408e9d:	cc                   	int3
408e9e:	cc                   	int3
408e9f:	cc                   	int3
408ea0:	55                   	push   %ebp
408ea1:	8b ec                	mov    %esp,%ebp
408ea3:	53                   	push   %ebx
408ea4:	56                   	push   %esi
408ea5:	8b 75 0c             	mov    0xc(%ebp),%esi
408ea8:	57                   	push   %edi
408ea9:	83 fe 02             	cmp    $0x2,%esi
408eac:	0f 84 e5 00 00 00    	je     0x408f97
408eb2:	83 fe 04             	cmp    $0x4,%esi
408eb5:	0f 84 dc 00 00 00    	je     0x408f97
408ebb:	8b 5d 08             	mov    0x8(%ebp),%ebx
408ebe:	8b 75 10             	mov    0x10(%ebp),%esi
408ec1:	85 f6                	test   %esi,%esi
408ec3:	0f 85 b2 66 03 00    	jne    0x43f57b
408ec9:	8b 3b                	mov    (%ebx),%edi
408ecb:	89 7d 0c             	mov    %edi,0xc(%ebp)
408ece:	8b 57 08             	mov    0x8(%edi),%edx
408ed1:	85 d2                	test   %edx,%edx
408ed3:	0f 84 5f 01 00 00    	je     0x409038
408ed9:	8b b7 0c 01 00 00    	mov    0x10c(%edi),%esi
408edf:	3b b7 10 02 00 00    	cmp    0x210(%edi),%esi
408ee5:	0f 85 4d 01 00 00    	jne    0x409038
408eeb:	33 c9                	xor    %ecx,%ecx
408eed:	85 f6                	test   %esi,%esi
408eef:	7e 30                	jle    0x408f21
408ef1:	8d 87 10 01 00 00    	lea    0x110(%edi),%eax
408ef7:	eb 07                	jmp    0x408f00
408ef9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408f00:	8b 10                	mov    (%eax),%edx
408f02:	85 d2                	test   %edx,%edx
408f04:	0f 88 2e 01 00 00    	js     0x409038
408f0a:	3b 90 fc fe ff ff    	cmp    -0x104(%eax),%edx
408f10:	0f 8d 22 01 00 00    	jge    0x409038
408f16:	41                   	inc    %ecx
408f17:	83 c0 04             	add    $0x4,%eax
408f1a:	3b ce                	cmp    %esi,%ecx
408f1c:	7c e2                	jl     0x408f00
408f1e:	8b 57 08             	mov    0x8(%edi),%edx
408f21:	33 db                	xor    %ebx,%ebx
408f23:	85 f6                	test   %esi,%esi
408f25:	7e 48                	jle    0x408f6f
408f27:	b9 10 01 00 00       	mov    $0x110,%ecx
408f2c:	8d 64 24 00          	lea    0x0(%esp),%esp
408f30:	8d 87 fc fe ff ff    	lea    -0x104(%edi),%eax
408f36:	03 c1                	add    %ecx,%eax
408f38:	89 45 10             	mov    %eax,0x10(%ebp)
408f3b:	81 38 88 13 00 00    	cmpl   $0x1388,(%eax)
408f41:	75 45                	jne    0x408f88
408f43:	b8 ad 8b db 68       	mov    $0x68db8bad,%eax
408f48:	f7 ea                	imul   %edx
408f4a:	c1 fa 0b             	sar    $0xb,%edx
408f4d:	8b c2                	mov    %edx,%eax
408f4f:	c1 e8 1f             	shr    $0x1f,%eax
408f52:	03 c2                	add    %edx,%eax
408f54:	89 45 10             	mov    %eax,0x10(%ebp)
408f57:	8b d0                	mov    %eax,%edx
408f59:	8b 04 39             	mov    (%ecx,%edi,1),%eax
408f5c:	83 c1 04             	add    $0x4,%ecx
408f5f:	0f af c2             	imul   %edx,%eax
408f62:	03 d8                	add    %eax,%ebx
408f64:	4e                   	dec    %esi
408f65:	75 c9                	jne    0x408f30
408f67:	85 db                	test   %ebx,%ebx
408f69:	0f 88 c9 00 00 00    	js     0x409038
408f6f:	8b 47 04             	mov    0x4(%edi),%eax
408f72:	83 3c 98 00          	cmpl   $0x0,(%eax,%ebx,4)
408f76:	74 4d                	je     0x408fc5
408f78:	8b 45 08             	mov    0x8(%ebp),%eax
408f7b:	8b 08                	mov    (%eax),%ecx
408f7d:	8b 41 04             	mov    0x4(%ecx),%eax
408f80:	8b 04 98             	mov    (%eax,%ebx,4),%eax
408f83:	5f                   	pop    %edi
408f84:	5e                   	pop    %esi
408f85:	5b                   	pop    %ebx
408f86:	5d                   	pop    %ebp
408f87:	c3                   	ret
408f88:	8b 7d 10             	mov    0x10(%ebp),%edi
408f8b:	8b c2                	mov    %edx,%eax
408f8d:	99                   	cltd
408f8e:	f7 3f                	idivl  (%edi)
408f90:	8b 7d 0c             	mov    0xc(%ebp),%edi
408f93:	8b d0                	mov    %eax,%edx
408f95:	eb c2                	jmp    0x408f59
408f97:	8b 5d 08             	mov    0x8(%ebp),%ebx
408f9a:	8b 0b                	mov    (%ebx),%ecx
408f9c:	8b 01                	mov    (%ecx),%eax
408f9e:	83 f8 01             	cmp    $0x1,%eax
408fa1:	7f 6e                	jg     0x409011
408fa3:	8b 03                	mov    (%ebx),%eax
408fa5:	83 fe 02             	cmp    $0x2,%esi
408fa8:	0f 85 c2 65 03 00    	jne    0x43f570
408fae:	81 38 ff ff ff 7f    	cmpl   $0x7fffffff,(%eax)
408fb4:	0f 84 04 ff ff ff    	je     0x408ebe
408fba:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
408fc0:	e9 f9 fe ff ff       	jmp    0x408ebe
408fc5:	6a 10                	push   $0x10
408fc7:	e8 2a 80 01 00       	call   0x420ff6
408fcc:	8b f0                	mov    %eax,%esi
408fce:	83 c4 04             	add    $0x4,%esp
408fd1:	85 f6                	test   %esi,%esi
408fd3:	74 5f                	je     0x409034
408fd5:	6a 10                	push   $0x10
408fd7:	e8 1a 80 01 00       	call   0x420ff6
408fdc:	83 c4 04             	add    $0x4,%esp
408fdf:	85 c0                	test   %eax,%eax
408fe1:	74 4d                	je     0x409030
408fe3:	68 10 f9 48 00       	push   $0x48f910
408fe8:	8b c8                	mov    %eax,%ecx
408fea:	e8 52 ef ff ff       	call   0x407f41
408fef:	89 46 08             	mov    %eax,0x8(%esi)
408ff2:	c7 46 0c 04 00 00 00 	movl   $0x4,0xc(%esi)
408ff9:	8b 45 08             	mov    0x8(%ebp),%eax
408ffc:	5f                   	pop    %edi
408ffd:	8b 08                	mov    (%eax),%ecx
408fff:	8b 49 04             	mov    0x4(%ecx),%ecx
409002:	89 34 99             	mov    %esi,(%ecx,%ebx,4)
409005:	8b 08                	mov    (%eax),%ecx
409007:	5e                   	pop    %esi
409008:	8b 41 04             	mov    0x4(%ecx),%eax
40900b:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40900e:	5b                   	pop    %ebx
40900f:	5d                   	pop    %ebp
409010:	c3                   	ret
409011:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
409016:	74 8b                	je     0x408fa3
409018:	48                   	dec    %eax
409019:	89 01                	mov    %eax,(%ecx)
40901b:	8b cb                	mov    %ebx,%ecx
40901d:	53                   	push   %ebx
40901e:	e8 18 fd ff ff       	call   0x408d3b
409023:	8b 03                	mov    (%ebx),%eax
409025:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40902b:	e9 73 ff ff ff       	jmp    0x408fa3
409030:	33 c0                	xor    %eax,%eax
409032:	eb bb                	jmp    0x408fef
409034:	33 f6                	xor    %esi,%esi
409036:	eb c1                	jmp    0x408ff9
409038:	33 c0                	xor    %eax,%eax
40903a:	e9 44 ff ff ff       	jmp    0x408f83
40903f:	cc                   	int3
409040:	55                   	push   %ebp
409041:	8b ec                	mov    %esp,%ebp
409043:	51                   	push   %ecx
409044:	53                   	push   %ebx
409045:	56                   	push   %esi
409046:	8b 75 08             	mov    0x8(%ebp),%esi
409049:	57                   	push   %edi
40904a:	8b 0e                	mov    (%esi),%ecx
40904c:	8b 01                	mov    (%ecx),%eax
40904e:	83 f8 01             	cmp    $0x1,%eax
409051:	0f 8f 4e 65 03 00    	jg     0x43f5a5
409057:	8b 06                	mov    (%esi),%eax
409059:	81 38 ff ff ff 7f    	cmpl   $0x7fffffff,(%eax)
40905f:	74 06                	je     0x409067
409061:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
409067:	8b 4d 10             	mov    0x10(%ebp),%ecx
40906a:	85 c9                	test   %ecx,%ecx
40906c:	74 36                	je     0x4090a4
40906e:	8b 06                	mov    (%esi),%eax
409070:	c7 80 10 02 00 00 00 	movl   $0x0,0x210(%eax)
409077:	00 00 00
40907a:	7e 28                	jle    0x4090a4
40907c:	8d 55 10             	lea    0x10(%ebp),%edx
40907f:	90                   	nop
409080:	8b 3e                	mov    (%esi),%edi
409082:	8d 52 04             	lea    0x4(%edx),%edx
409085:	8b 9f 10 02 00 00    	mov    0x210(%edi),%ebx
40908b:	83 fb 40             	cmp    $0x40,%ebx
40908e:	7d 11                	jge    0x4090a1
409090:	8b 02                	mov    (%edx),%eax
409092:	89 84 9f 10 01 00 00 	mov    %eax,0x110(%edi,%ebx,4)
409099:	8b 06                	mov    (%esi),%eax
40909b:	ff 80 10 02 00 00    	incl   0x210(%eax)
4090a1:	49                   	dec    %ecx
4090a2:	75 dc                	jne    0x409080
4090a4:	8b 0e                	mov    (%esi),%ecx
4090a6:	8b 59 08             	mov    0x8(%ecx),%ebx
4090a9:	85 db                	test   %ebx,%ebx
4090ab:	0f 84 f9 00 00 00    	je     0x4091aa
4090b1:	8b b9 0c 01 00 00    	mov    0x10c(%ecx),%edi
4090b7:	3b b9 10 02 00 00    	cmp    0x210(%ecx),%edi
4090bd:	0f 85 e7 00 00 00    	jne    0x4091aa
4090c3:	33 d2                	xor    %edx,%edx
4090c5:	85 ff                	test   %edi,%edi
4090c7:	7e 29                	jle    0x4090f2
4090c9:	8d 81 10 01 00 00    	lea    0x110(%ecx),%eax
4090cf:	90                   	nop
4090d0:	83 38 00             	cmpl   $0x0,(%eax)
4090d3:	0f 8c d1 00 00 00    	jl     0x4091aa
4090d9:	8b 30                	mov    (%eax),%esi
4090db:	3b b0 fc fe ff ff    	cmp    -0x104(%eax),%esi
4090e1:	8b 75 08             	mov    0x8(%ebp),%esi
4090e4:	0f 8d c0 00 00 00    	jge    0x4091aa
4090ea:	42                   	inc    %edx
4090eb:	83 c0 04             	add    $0x4,%eax
4090ee:	3b d7                	cmp    %edi,%edx
4090f0:	7c de                	jl     0x4090d0
4090f2:	33 d2                	xor    %edx,%edx