4189b8:	81 fe 00 02 00 00    	cmp    $0x200,%esi
4189be:	77 17                	ja     0x4189d7
4189c0:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4189c4:	8b 41 0c             	mov    0xc(%ecx),%eax
4189c7:	a8 08                	test   $0x8,%al
4189c9:	74 0c                	je     0x4189d7
4189cb:	f6 c4 04             	test   $0x4,%ah
4189ce:	75 07                	jne    0x4189d7
4189d0:	be 00 02 00 00       	mov    $0x200,%esi
4189d5:	eb 07                	jmp    0x4189de
4189d7:	8b 54 24 20          	mov    0x20(%esp),%edx
4189db:	8b 72 18             	mov    0x18(%edx),%esi
4189de:	8b 45 00             	mov    0x0(%ebp),%eax
4189e1:	f6 44 07 04 04       	testb  $0x4,0x4(%edi,%eax,1)
4189e6:	74 01                	je     0x4189e9
4189e8:	46                   	inc    %esi
4189e9:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4189ed:	8b 44 24 18          	mov    0x18(%esp),%eax
4189f1:	2b ce                	sub    %esi,%ecx
4189f3:	83 d8 00             	sbb    $0x0,%eax
4189f6:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4189fa:	89 44 24 18          	mov    %eax,0x18(%esp)
4189fe:	8b 74 24 10          	mov    0x10(%esp),%esi
418a02:	8b 4c 24 18          	mov    0x18(%esp),%ecx
418a06:	8b c6                	mov    %esi,%eax
418a08:	8b 74 24 14          	mov    0x14(%esp),%esi
418a0c:	33 d2                	xor    %edx,%edx
418a0e:	03 c6                	add    %esi,%eax
418a10:	13 d1                	adc    %ecx,%edx
418a12:	5f                   	pop    %edi
418a13:	5e                   	pop    %esi
418a14:	5d                   	pop    %ebp
418a15:	5b                   	pop    %ebx
418a16:	83 c4 0c             	add    $0xc,%esp
418a19:	c3                   	ret
418a1a:	a8 80                	test   $0x80,%al
418a1c:	0f 85 e5 fe ff ff    	jne    0x418907
418a22:	e8 69 4c ff ff       	call   0x40d690
418a27:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
418a2d:	5f                   	pop    %edi
418a2e:	5e                   	pop    %esi
418a2f:	83 c8 ff             	or     $0xffffffff,%eax
418a32:	5d                   	pop    %ebp
418a33:	83 ca ff             	or     $0xffffffff,%edx
418a36:	5b                   	pop    %ebx
418a37:	83 c4 0c             	add    $0xc,%esp
418a3a:	c3                   	ret
418a3b:	90                   	nop
418a3c:	90                   	nop
418a3d:	90                   	nop
418a3e:	90                   	nop
418a3f:	90                   	nop
418a40:	83 ec 08             	sub    $0x8,%esp
418a43:	53                   	push   %ebx
418a44:	55                   	push   %ebp
418a45:	56                   	push   %esi
418a46:	8b 74 24 18          	mov    0x18(%esp),%esi
418a4a:	57                   	push   %edi
418a4b:	8b 46 04             	mov    0x4(%esi),%eax
418a4e:	8b 5e 10             	mov    0x10(%esi),%ebx
418a51:	85 c0                	test   %eax,%eax
418a53:	7d 07                	jge    0x418a5c
418a55:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
418a5c:	6a 01                	push   $0x1
418a5e:	6a 00                	push   $0x0
418a60:	53                   	push   %ebx
418a61:	e8 1a 93 ff ff       	call   0x411d80
418a66:	8b c8                	mov    %eax,%ecx
418a68:	83 c4 0c             	add    $0xc,%esp
418a6b:	85 c9                	test   %ecx,%ecx
418a6d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
418a71:	7d 0b                	jge    0x418a7e
418a73:	83 c8 ff             	or     $0xffffffff,%eax
418a76:	5f                   	pop    %edi
418a77:	5e                   	pop    %esi
418a78:	5d                   	pop    %ebp
418a79:	5b                   	pop    %ebx
418a7a:	83 c4 08             	add    $0x8,%esp
418a7d:	c3                   	ret
418a7e:	8b 46 0c             	mov    0xc(%esi),%eax
418a81:	a9 08 01 00 00       	test   $0x108,%eax
418a86:	75 0f                	jne    0x418a97
418a88:	8b c1                	mov    %ecx,%eax
418a8a:	8b 4e 04             	mov    0x4(%esi),%ecx
418a8d:	2b c1                	sub    %ecx,%eax
418a8f:	5f                   	pop    %edi
418a90:	5e                   	pop    %esi
418a91:	5d                   	pop    %ebp
418a92:	5b                   	pop    %ebx
418a93:	83 c4 08             	add    $0x8,%esp
418a96:	c3                   	ret
418a97:	8b 0e                	mov    (%esi),%ecx
418a99:	8b 7e 08             	mov    0x8(%esi),%edi
418a9c:	8b d1                	mov    %ecx,%edx
418a9e:	2b d7                	sub    %edi,%edx
418aa0:	a8 03                	test   $0x3,%al
418aa2:	89 54 24 10          	mov    %edx,0x10(%esp)
418aa6:	0f 84 1a 01 00 00    	je     0x418bc6
418aac:	8b eb                	mov    %ebx,%ebp
418aae:	8b c3                	mov    %ebx,%eax
418ab0:	c1 fd 05             	sar    $0x5,%ebp
418ab3:	83 e0 1f             	and    $0x1f,%eax
418ab6:	8b 2c ad a0 89 43 00 	mov    0x4389a0(,%ebp,4),%ebp
418abd:	8d 04 c0             	lea    (%eax,%eax,8),%eax
418ac0:	f6 44 85 04 80       	testb  $0x80,0x4(%ebp,%eax,4)
418ac5:	74 15                	je     0x418adc
418ac7:	8b c7                	mov    %edi,%eax
418ac9:	3b c1                	cmp    %ecx,%eax
418acb:	73 0f                	jae    0x418adc
418acd:	80 38 0a             	cmpb   $0xa,(%eax)
418ad0:	75 01                	jne    0x418ad3
418ad2:	42                   	inc    %edx
418ad3:	40                   	inc    %eax
418ad4:	3b c1                	cmp    %ecx,%eax
418ad6:	72 f5                	jb     0x418acd
418ad8:	89 54 24 10          	mov    %edx,0x10(%esp)
418adc:	8b 44 24 14          	mov    0x14(%esp),%eax
418ae0:	85 c0                	test   %eax,%eax
418ae2:	75 0a                	jne    0x418aee
418ae4:	8b c2                	mov    %edx,%eax
418ae6:	5f                   	pop    %edi
418ae7:	5e                   	pop    %esi
418ae8:	5d                   	pop    %ebp
418ae9:	5b                   	pop    %ebx
418aea:	83 c4 08             	add    $0x8,%esp
418aed:	c3                   	ret
418aee:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
418af2:	0f 84 bf 00 00 00    	je     0x418bb7
418af8:	8b 46 04             	mov    0x4(%esi),%eax
418afb:	85 c0                	test   %eax,%eax
418afd:	75 15                	jne    0x418b14
418aff:	8b 4c 24 14          	mov    0x14(%esp),%ecx
418b03:	8b d0                	mov    %eax,%edx
418b05:	89 44 24 10          	mov    %eax,0x10(%esp)
418b09:	8d 04 11             	lea    (%ecx,%edx,1),%eax
418b0c:	5f                   	pop    %edi
418b0d:	5e                   	pop    %esi
418b0e:	5d                   	pop    %ebp
418b0f:	5b                   	pop    %ebx
418b10:	83 c4 08             	add    $0x8,%esp
418b13:	c3                   	ret
418b14:	8d 34 01             	lea    (%ecx,%eax,1),%esi
418b17:	8b cb                	mov    %ebx,%ecx
418b19:	8b c3                	mov    %ebx,%eax
418b1b:	2b f7                	sub    %edi,%esi
418b1d:	c1 f9 05             	sar    $0x5,%ecx
418b20:	83 e0 1f             	and    $0x1f,%eax
418b23:	8d 2c 8d a0 89 43 00 	lea    0x4389a0(,%ecx,4),%ebp
418b2a:	8d 3c c0             	lea    (%eax,%eax,8),%edi
418b2d:	8b 45 00             	mov    0x0(%ebp),%eax
418b30:	c1 e7 02             	shl    $0x2,%edi
418b33:	f6 44 07 04 80       	testb  $0x80,0x4(%edi,%eax,1)
418b38:	74 79                	je     0x418bb3
418b3a:	6a 02                	push   $0x2
418b3c:	6a 00                	push   $0x0
418b3e:	53                   	push   %ebx
418b3f:	e8 3c 92 ff ff       	call   0x411d80
418b44:	8b 4c 24 20          	mov    0x20(%esp),%ecx
418b48:	83 c4 0c             	add    $0xc,%esp
418b4b:	3b c1                	cmp    %ecx,%eax
418b4d:	75 23                	jne    0x418b72
418b4f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
418b53:	8b 42 08             	mov    0x8(%edx),%eax
418b56:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
418b59:	3b c1                	cmp    %ecx,%eax
418b5b:	73 0b                	jae    0x418b68
418b5d:	80 38 0a             	cmpb   $0xa,(%eax)
418b60:	75 01                	jne    0x418b63
418b62:	46                   	inc    %esi
418b63:	40                   	inc    %eax
418b64:	3b c1                	cmp    %ecx,%eax
418b66:	72 f5                	jb     0x418b5d
418b68:	8b 42 0c             	mov    0xc(%edx),%eax
418b6b:	f6 c4 20             	test   $0x20,%ah
418b6e:	74 3f                	je     0x418baf
418b70:	eb 3c                	jmp    0x418bae
418b72:	6a 00                	push   $0x0
418b74:	51                   	push   %ecx
418b75:	53                   	push   %ebx
418b76:	e8 05 92 ff ff       	call   0x411d80
418b7b:	83 c4 0c             	add    $0xc,%esp
418b7e:	81 fe 00 02 00 00    	cmp    $0x200,%esi
418b84:	77 17                	ja     0x418b9d
418b86:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
418b8a:	8b 41 0c             	mov    0xc(%ecx),%eax
418b8d:	a8 08                	test   $0x8,%al
418b8f:	74 0c                	je     0x418b9d
418b91:	f6 c4 04             	test   $0x4,%ah
418b94:	75 07                	jne    0x418b9d
418b96:	be 00 02 00 00       	mov    $0x200,%esi
418b9b:	eb 07                	jmp    0x418ba4
418b9d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
418ba1:	8b 72 18             	mov    0x18(%edx),%esi
418ba4:	8b 45 00             	mov    0x0(%ebp),%eax
418ba7:	f6 44 07 04 04       	testb  $0x4,0x4(%edi,%eax,1)
418bac:	74 01                	je     0x418baf
418bae:	46                   	inc    %esi
418baf:	8b 54 24 10          	mov    0x10(%esp),%edx
418bb3:	29 74 24 14          	sub    %esi,0x14(%esp)
418bb7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
418bbb:	8d 04 11             	lea    (%ecx,%edx,1),%eax
418bbe:	5f                   	pop    %edi
418bbf:	5e                   	pop    %esi
418bc0:	5d                   	pop    %ebp
418bc1:	5b                   	pop    %ebx
418bc2:	83 c4 08             	add    $0x8,%esp
418bc5:	c3                   	ret
418bc6:	a8 80                	test   $0x80,%al
418bc8:	0f 85 0e ff ff ff    	jne    0x418adc
418bce:	e8 bd 4a ff ff       	call   0x40d690
418bd3:	5f                   	pop    %edi
418bd4:	5e                   	pop    %esi
418bd5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
418bdb:	5d                   	pop    %ebp
418bdc:	83 c8 ff             	or     $0xffffffff,%eax
418bdf:	5b                   	pop    %ebx
418be0:	83 c4 08             	add    $0x8,%esp
418be3:	c3                   	ret
418be4:	90                   	nop
418be5:	90                   	nop
418be6:	90                   	nop
418be7:	90                   	nop
418be8:	90                   	nop
418be9:	90                   	nop
418bea:	90                   	nop
418beb:	90                   	nop
418bec:	90                   	nop
418bed:	90                   	nop
418bee:	90                   	nop
418bef:	90                   	nop
418bf0:	56                   	push   %esi
418bf1:	8b 74 24 08          	mov    0x8(%esp),%esi
418bf5:	57                   	push   %edi
418bf6:	56                   	push   %esi
418bf7:	e8 e4 68 ff ff       	call   0x40f4e0
418bfc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418c00:	8b 4c 24 18          	mov    0x18(%esp),%ecx
418c04:	8b 54 24 14          	mov    0x14(%esp),%edx
418c08:	83 c4 04             	add    $0x4,%esp
418c0b:	50                   	push   %eax
418c0c:	51                   	push   %ecx
418c0d:	52                   	push   %edx
418c0e:	56                   	push   %esi
418c0f:	e8 1c 00 00 00       	call   0x418c30
418c14:	83 c4 10             	add    $0x10,%esp
418c17:	8b f8                	mov    %eax,%edi
418c19:	56                   	push   %esi
418c1a:	e8 31 69 ff ff       	call   0x40f550
418c1f:	83 c4 04             	add    $0x4,%esp
418c22:	8b c7                	mov    %edi,%eax
418c24:	5f                   	pop    %edi
418c25:	5e                   	pop    %esi
418c26:	c3                   	ret
418c27:	90                   	nop
418c28:	90                   	nop
418c29:	90                   	nop
418c2a:	90                   	nop
418c2b:	90                   	nop
418c2c:	90                   	nop
418c2d:	90                   	nop
418c2e:	90                   	nop
418c2f:	90                   	nop
418c30:	56                   	push   %esi
418c31:	8b 74 24 08          	mov    0x8(%esp),%esi
418c35:	57                   	push   %edi
418c36:	8b 46 0c             	mov    0xc(%esi),%eax
418c39:	a8 83                	test   $0x83,%al
418c3b:	0f 84 89 00 00 00    	je     0x418cca
418c41:	8b 7c 24 18          	mov    0x18(%esp),%edi
418c45:	85 ff                	test   %edi,%edi
418c47:	74 0a                	je     0x418c53
418c49:	83 ff 01             	cmp    $0x1,%edi
418c4c:	74 05                	je     0x418c53
418c4e:	83 ff 02             	cmp    $0x2,%edi
418c51:	75 77                	jne    0x418cca
418c53:	24 ef                	and    $0xef,%al
418c55:	83 ff 01             	cmp    $0x1,%edi
418c58:	89 46 0c             	mov    %eax,0xc(%esi)
418c5b:	75 1f                	jne    0x418c7c
418c5d:	56                   	push   %esi
418c5e:	e8 ed fb ff ff       	call   0x418850
418c63:	8b 4c 24 14          	mov    0x14(%esp),%ecx
418c67:	83 c4 04             	add    $0x4,%esp
418c6a:	03 c8                	add    %eax,%ecx
418c6c:	8b 44 24 14          	mov    0x14(%esp),%eax
418c70:	13 c2                	adc    %edx,%eax
418c72:	89 4c 24 10          	mov    %ecx,0x10(%esp)
418c76:	89 44 24 14          	mov    %eax,0x14(%esp)
418c7a:	33 ff                	xor    %edi,%edi
418c7c:	56                   	push   %esi
418c7d:	e8 6e 9a ff ff       	call   0x4126f0
418c82:	8b 46 0c             	mov    0xc(%esi),%eax
418c85:	83 c4 04             	add    $0x4,%esp
418c88:	a8 80                	test   $0x80,%al
418c8a:	74 07                	je     0x418c93
418c8c:	24 fc                	and    $0xfc,%al
418c8e:	89 46 0c             	mov    %eax,0xc(%esi)
418c91:	eb 14                	jmp    0x418ca7
418c93:	a8 01                	test   $0x1,%al
418c95:	74 10                	je     0x418ca7
418c97:	a8 08                	test   $0x8,%al
418c99:	74 0c                	je     0x418ca7
418c9b:	f6 c4 04             	test   $0x4,%ah
418c9e:	75 07                	jne    0x418ca7
418ca0:	c7 46 18 00 02 00 00 	movl   $0x200,0x18(%esi)
418ca7:	8b 44 24 14          	mov    0x14(%esp),%eax
418cab:	8b 4c 24 10          	mov    0x10(%esp),%ecx
418caf:	8b 56 10             	mov    0x10(%esi),%edx
418cb2:	57                   	push   %edi
418cb3:	50                   	push   %eax
418cb4:	51                   	push   %ecx
418cb5:	52                   	push   %edx
418cb6:	e8 a5 06 00 00       	call   0x419360
418cbb:	23 c2                	and    %edx,%eax
418cbd:	83 c4 10             	add    $0x10,%esp
418cc0:	83 f8 ff             	cmp    $0xffffffff,%eax
418cc3:	74 10                	je     0x418cd5
418cc5:	33 c0                	xor    %eax,%eax
418cc7:	5f                   	pop    %edi
418cc8:	5e                   	pop    %esi
418cc9:	c3                   	ret
418cca:	e8 c1 49 ff ff       	call   0x40d690
418ccf:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
418cd5:	5f                   	pop    %edi
418cd6:	83 c8 ff             	or     $0xffffffff,%eax
418cd9:	5e                   	pop    %esi
418cda:	c3                   	ret
418cdb:	90                   	nop
418cdc:	90                   	nop
418cdd:	90                   	nop
418cde:	90                   	nop
418cdf:	90                   	nop
418ce0:	53                   	push   %ebx
418ce1:	55                   	push   %ebp
418ce2:	56                   	push   %esi
418ce3:	8b 74 24 14          	mov    0x14(%esp),%esi
418ce7:	57                   	push   %edi
418ce8:	8b 46 0c             	mov    0xc(%esi),%eax
418ceb:	8b 6e 10             	mov    0x10(%esi),%ebp
418cee:	a8 82                	test   $0x82,%al
418cf0:	0f 84 22 01 00 00    	je     0x418e18
418cf6:	a8 40                	test   $0x40,%al
418cf8:	0f 85 1a 01 00 00    	jne    0x418e18
418cfe:	33 db                	xor    %ebx,%ebx
418d00:	a8 01                	test   $0x1,%al
418d02:	74 15                	je     0x418d19
418d04:	a8 10                	test   $0x10,%al
418d06:	89 5e 04             	mov    %ebx,0x4(%esi)
418d09:	0f 84 09 01 00 00    	je     0x418e18
418d0f:	8b 4e 08             	mov    0x8(%esi),%ecx