412db4:	8b c8                	mov    %eax,%ecx
412db6:	83 e0 1f             	and    $0x1f,%eax
412db9:	c1 f9 05             	sar    $0x5,%ecx
412dbc:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412dbf:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412dc6:	8d 4c 90 0c          	lea    0xc(%eax,%edx,4),%ecx
412dca:	51                   	push   %ecx
412dcb:	ff 15 cc 96 43 00    	call   *0x4396cc
412dd1:	c3                   	ret
412dd2:	90                   	nop
412dd3:	90                   	nop
412dd4:	90                   	nop
412dd5:	90                   	nop
412dd6:	90                   	nop
412dd7:	90                   	nop
412dd8:	90                   	nop
412dd9:	90                   	nop
412dda:	90                   	nop
412ddb:	90                   	nop
412ddc:	90                   	nop
412ddd:	90                   	nop
412dde:	90                   	nop
412ddf:	90                   	nop
412de0:	6a 02                	push   $0x2
412de2:	e8 a9 95 ff ff       	call   0x40c390
412de7:	83 c4 04             	add    $0x4,%esp
412dea:	c3                   	ret
412deb:	90                   	nop
412dec:	90                   	nop
412ded:	90                   	nop
412dee:	90                   	nop
412def:	90                   	nop
412df0:	56                   	push   %esi
412df1:	8b 74 24 08          	mov    0x8(%esp),%esi
412df5:	57                   	push   %edi
412df6:	83 cf ff             	or     $0xffffffff,%edi
412df9:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
412dfd:	74 0c                	je     0x412e0b
412dff:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e06:	8b c7                	mov    %edi,%eax
412e08:	5f                   	pop    %edi
412e09:	5e                   	pop    %esi
412e0a:	c3                   	ret
412e0b:	56                   	push   %esi
412e0c:	e8 cf c6 ff ff       	call   0x40f4e0
412e11:	83 c4 04             	add    $0x4,%esp
412e14:	56                   	push   %esi
412e15:	e8 16 00 00 00       	call   0x412e30
412e1a:	83 c4 04             	add    $0x4,%esp
412e1d:	8b f8                	mov    %eax,%edi
412e1f:	56                   	push   %esi
412e20:	e8 2b c7 ff ff       	call   0x40f550
412e25:	83 c4 04             	add    $0x4,%esp
412e28:	8b c7                	mov    %edi,%eax
412e2a:	5f                   	pop    %edi
412e2b:	5e                   	pop    %esi
412e2c:	c3                   	ret
412e2d:	90                   	nop
412e2e:	90                   	nop
412e2f:	90                   	nop
412e30:	56                   	push   %esi
412e31:	8b 74 24 08          	mov    0x8(%esp),%esi
412e35:	57                   	push   %edi
412e36:	83 cf ff             	or     $0xffffffff,%edi
412e39:	f6 46 0c 83          	testb  $0x83,0xc(%esi)
412e3d:	74 4a                	je     0x412e89
412e3f:	56                   	push   %esi
412e40:	e8 ab f8 ff ff       	call   0x4126f0
412e45:	83 c4 04             	add    $0x4,%esp
412e48:	8b f8                	mov    %eax,%edi
412e4a:	56                   	push   %esi
412e4b:	e8 f0 01 00 00       	call   0x413040
412e50:	8b 46 10             	mov    0x10(%esi),%eax
412e53:	83 c4 04             	add    $0x4,%esp
412e56:	50                   	push   %eax
412e57:	e8 e4 00 00 00       	call   0x412f40
412e5c:	83 c4 04             	add    $0x4,%esp
412e5f:	85 c0                	test   %eax,%eax
412e61:	7d 0f                	jge    0x412e72
412e63:	83 cf ff             	or     $0xffffffff,%edi
412e66:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e6d:	8b c7                	mov    %edi,%eax
412e6f:	5f                   	pop    %edi
412e70:	5e                   	pop    %esi
412e71:	c3                   	ret
412e72:	8b 46 1c             	mov    0x1c(%esi),%eax
412e75:	85 c0                	test   %eax,%eax
412e77:	74 10                	je     0x412e89
412e79:	50                   	push   %eax
412e7a:	e8 11 97 ff ff       	call   0x40c590
412e7f:	83 c4 04             	add    $0x4,%esp
412e82:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
412e89:	8b c7                	mov    %edi,%eax
412e8b:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
412e92:	5f                   	pop    %edi
412e93:	5e                   	pop    %esi
412e94:	c3                   	ret
412e95:	90                   	nop
412e96:	90                   	nop
412e97:	90                   	nop
412e98:	90                   	nop
412e99:	90                   	nop
412e9a:	90                   	nop
412e9b:	90                   	nop
412e9c:	90                   	nop
412e9d:	90                   	nop
412e9e:	90                   	nop
412e9f:	90                   	nop
412ea0:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412ea5:	55                   	push   %ebp
412ea6:	56                   	push   %esi
412ea7:	57                   	push   %edi
412ea8:	8b 7c 24 10          	mov    0x10(%esp),%edi
412eac:	3b f8                	cmp    %eax,%edi
412eae:	73 7c                	jae    0x412f2c
412eb0:	8b c7                	mov    %edi,%eax
412eb2:	c1 f8 05             	sar    $0x5,%eax
412eb5:	8d 2c 85 a0 89 43 00 	lea    0x4389a0(,%eax,4),%ebp
412ebc:	8b c7                	mov    %edi,%eax
412ebe:	83 e0 1f             	and    $0x1f,%eax
412ec1:	8b 4d 00             	mov    0x0(%ebp),%ecx
412ec4:	8d 34 c0             	lea    (%eax,%eax,8),%esi
412ec7:	c1 e6 02             	shl    $0x2,%esi
412eca:	f6 44 31 04 01       	testb  $0x1,0x4(%ecx,%esi,1)
412ecf:	74 5b                	je     0x412f2c
412ed1:	57                   	push   %edi
412ed2:	e8 69 fe ff ff       	call   0x412d40
412ed7:	8b 55 00             	mov    0x0(%ebp),%edx
412eda:	83 c4 04             	add    $0x4,%esp
412edd:	f6 44 32 04 01       	testb  $0x1,0x4(%edx,%esi,1)
412ee2:	74 2b                	je     0x412f0f
412ee4:	57                   	push   %edi
412ee5:	e8 06 fe ff ff       	call   0x412cf0
412eea:	83 c4 04             	add    $0x4,%esp
412eed:	50                   	push   %eax
412eee:	ff 15 90 96 43 00    	call   *0x439690
412ef4:	85 c0                	test   %eax,%eax
412ef6:	75 0a                	jne    0x412f02
412ef8:	ff 15 ec 96 43 00    	call   *0x4396ec
412efe:	8b f0                	mov    %eax,%esi
412f00:	eb 02                	jmp    0x412f04
412f02:	33 f6                	xor    %esi,%esi
412f04:	85 f6                	test   %esi,%esi
412f06:	74 15                	je     0x412f1d
412f08:	e8 93 a7 ff ff       	call   0x40d6a0
412f0d:	89 30                	mov    %esi,(%eax)
412f0f:	e8 7c a7 ff ff       	call   0x40d690
412f14:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f1a:	83 ce ff             	or     $0xffffffff,%esi
412f1d:	57                   	push   %edi
412f1e:	e8 8d fe ff ff       	call   0x412db0
412f23:	83 c4 04             	add    $0x4,%esp
412f26:	8b c6                	mov    %esi,%eax
412f28:	5f                   	pop    %edi
412f29:	5e                   	pop    %esi
412f2a:	5d                   	pop    %ebp
412f2b:	c3                   	ret
412f2c:	e8 5f a7 ff ff       	call   0x40d690
412f31:	5f                   	pop    %edi
412f32:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f38:	5e                   	pop    %esi
412f39:	83 c8 ff             	or     $0xffffffff,%eax
412f3c:	5d                   	pop    %ebp
412f3d:	c3                   	ret
412f3e:	90                   	nop
412f3f:	90                   	nop
412f40:	a1 a0 8a 43 00       	mov    0x438aa0,%eax
412f45:	56                   	push   %esi
412f46:	8b 74 24 08          	mov    0x8(%esp),%esi
412f4a:	57                   	push   %edi
412f4b:	3b f0                	cmp    %eax,%esi
412f4d:	73 3d                	jae    0x412f8c
412f4f:	8b c6                	mov    %esi,%eax
412f51:	8b ce                	mov    %esi,%ecx
412f53:	83 e0 1f             	and    $0x1f,%eax
412f56:	c1 f9 05             	sar    $0x5,%ecx
412f59:	8d 14 c0             	lea    (%eax,%eax,8),%edx
412f5c:	8b 04 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%eax
412f63:	f6 44 90 04 01       	testb  $0x1,0x4(%eax,%edx,4)
412f68:	74 22                	je     0x412f8c
412f6a:	56                   	push   %esi
412f6b:	e8 d0 fd ff ff       	call   0x412d40
412f70:	83 c4 04             	add    $0x4,%esp
412f73:	56                   	push   %esi
412f74:	e8 37 00 00 00       	call   0x412fb0
412f79:	83 c4 04             	add    $0x4,%esp
412f7c:	8b f8                	mov    %eax,%edi
412f7e:	56                   	push   %esi
412f7f:	e8 2c fe ff ff       	call   0x412db0
412f84:	83 c4 04             	add    $0x4,%esp
412f87:	8b c7                	mov    %edi,%eax
412f89:	5f                   	pop    %edi
412f8a:	5e                   	pop    %esi
412f8b:	c3                   	ret
412f8c:	e8 ff a6 ff ff       	call   0x40d690
412f91:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412f97:	e8 04 a7 ff ff       	call   0x40d6a0
412f9c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
412fa2:	5f                   	pop    %edi
412fa3:	83 c8 ff             	or     $0xffffffff,%eax
412fa6:	5e                   	pop    %esi
412fa7:	c3                   	ret
412fa8:	90                   	nop
412fa9:	90                   	nop
412faa:	90                   	nop
412fab:	90                   	nop
412fac:	90                   	nop
412fad:	90                   	nop
412fae:	90                   	nop
412faf:	90                   	nop
412fb0:	56                   	push   %esi
412fb1:	8b 74 24 08          	mov    0x8(%esp),%esi
412fb5:	57                   	push   %edi
412fb6:	56                   	push   %esi
412fb7:	e8 34 fd ff ff       	call   0x412cf0
412fbc:	83 c4 04             	add    $0x4,%esp
412fbf:	83 f8 ff             	cmp    $0xffffffff,%eax
412fc2:	74 42                	je     0x413006
412fc4:	83 fe 01             	cmp    $0x1,%esi
412fc7:	74 05                	je     0x412fce
412fc9:	83 fe 02             	cmp    $0x2,%esi
412fcc:	75 1a                	jne    0x412fe8
412fce:	6a 01                	push   $0x1
412fd0:	e8 1b fd ff ff       	call   0x412cf0
412fd5:	83 c4 04             	add    $0x4,%esp
412fd8:	8b f8                	mov    %eax,%edi
412fda:	6a 02                	push   $0x2
412fdc:	e8 0f fd ff ff       	call   0x412cf0
412fe1:	83 c4 04             	add    $0x4,%esp
412fe4:	3b f8                	cmp    %eax,%edi
412fe6:	74 1e                	je     0x413006
412fe8:	56                   	push   %esi
412fe9:	e8 02 fd ff ff       	call   0x412cf0
412fee:	83 c4 04             	add    $0x4,%esp
412ff1:	50                   	push   %eax
412ff2:	ff 15 50 97 43 00    	call   *0x439750
412ff8:	85 c0                	test   %eax,%eax
412ffa:	75 0a                	jne    0x413006
412ffc:	ff 15 ec 96 43 00    	call   *0x4396ec
413002:	8b f8                	mov    %eax,%edi
413004:	eb 02                	jmp    0x413008
413006:	33 ff                	xor    %edi,%edi
413008:	56                   	push   %esi
413009:	e8 42 fc ff ff       	call   0x412c50
41300e:	8b c6                	mov    %esi,%eax
413010:	83 e6 1f             	and    $0x1f,%esi
413013:	c1 f8 05             	sar    $0x5,%eax
413016:	8d 0c f6             	lea    (%esi,%esi,8),%ecx
413019:	83 c4 04             	add    $0x4,%esp
41301c:	8b 14 85 a0 89 43 00 	mov    0x4389a0(,%eax,4),%edx
413023:	85 ff                	test   %edi,%edi
413025:	c6 44 8a 04 00       	movb   $0x0,0x4(%edx,%ecx,4)
41302a:	74 0f                	je     0x41303b
41302c:	57                   	push   %edi
41302d:	e8 de a5 ff ff       	call   0x40d610
413032:	83 c4 04             	add    $0x4,%esp
413035:	83 c8 ff             	or     $0xffffffff,%eax
413038:	5f                   	pop    %edi
413039:	5e                   	pop    %esi
41303a:	c3                   	ret
41303b:	5f                   	pop    %edi
41303c:	33 c0                	xor    %eax,%eax
41303e:	5e                   	pop    %esi
41303f:	c3                   	ret
413040:	56                   	push   %esi
413041:	8b 74 24 08          	mov    0x8(%esp),%esi
413045:	8b 46 0c             	mov    0xc(%esi),%eax
413048:	a8 83                	test   $0x83,%al
41304a:	74 25                	je     0x413071
41304c:	a8 08                	test   $0x8,%al
41304e:	74 21                	je     0x413071
413050:	8b 46 08             	mov    0x8(%esi),%eax
413053:	50                   	push   %eax
413054:	e8 37 95 ff ff       	call   0x40c590
413059:	8b 46 0c             	mov    0xc(%esi),%eax
41305c:	83 c4 04             	add    $0x4,%esp
41305f:	25 f7 fb ff ff       	and    $0xfffffbf7,%eax
413064:	89 46 0c             	mov    %eax,0xc(%esi)
413067:	33 c0                	xor    %eax,%eax
413069:	89 06                	mov    %eax,(%esi)
41306b:	89 46 08             	mov    %eax,0x8(%esi)
41306e:	89 46 04             	mov    %eax,0x4(%esi)
413071:	5e                   	pop    %esi
413072:	c3                   	ret
413073:	90                   	nop
413074:	90                   	nop
413075:	90                   	nop
413076:	90                   	nop
413077:	90                   	nop
413078:	90                   	nop
413079:	90                   	nop
41307a:	90                   	nop
41307b:	90                   	nop
41307c:	90                   	nop
41307d:	90                   	nop
41307e:	90                   	nop
41307f:	90                   	nop
413080:	ff 25 6c 96 43 00    	jmp    *0x43966c
413086:	ff 25 fc 97 43 00    	jmp    *0x4397fc
41308c:	ff 25 84 99 43 00    	jmp    *0x439984
413092:	ff 25 ac 99 43 00    	jmp    *0x4399ac
413098:	ff 25 a4 99 43 00    	jmp    *0x4399a4
41309e:	ff 25 a0 99 43 00    	jmp    *0x4399a0
4130a4:	ff 25 9c 99 43 00    	jmp    *0x43999c
4130aa:	cc                   	int3
4130ab:	cc                   	int3
4130ac:	cc                   	int3
4130ad:	cc                   	int3
4130ae:	cc                   	int3
4130af:	cc                   	int3
4130b0:	e8 0b 00 00 00       	call   0x4130c0
4130b5:	e9 66 0a 00 00       	jmp    0x413b20
4130ba:	90                   	nop
4130bb:	90                   	nop
4130bc:	90                   	nop
4130bd:	90                   	nop
4130be:	90                   	nop
4130bf:	90                   	nop
4130c0:	6a 00                	push   $0x0
4130c2:	b9 40 76 43 00       	mov    $0x437640,%ecx
4130c7:	e8 04 00 00 00       	call   0x4130d0
4130cc:	c3                   	ret
4130cd:	90                   	nop
4130ce:	90                   	nop
4130cf:	90                   	nop
4130d0:	8b c1                	mov    %ecx,%eax
4130d2:	c7 00 5c ca 42 00    	movl   $0x42ca5c,(%eax)
4130d8:	c2 04 00             	ret    $0x4
4130db:	90                   	nop
4130dc:	90                   	nop
4130dd:	90                   	nop
4130de:	90                   	nop
4130df:	90                   	nop
4130e0:	33 c0                	xor    %eax,%eax
4130e2:	c3                   	ret
4130e3:	90                   	nop
4130e4:	90                   	nop
4130e5:	90                   	nop
4130e6:	90                   	nop
4130e7:	90                   	nop
4130e8:	90                   	nop
4130e9:	90                   	nop
4130ea:	90                   	nop
4130eb:	90                   	nop
4130ec:	90                   	nop
4130ed:	90                   	nop
4130ee:	90                   	nop
4130ef:	90                   	nop
4130f0:	51                   	push   %ecx
4130f1:	53                   	push   %ebx