4189d3:	8a c3                	mov    %bl,%al
4189d5:	e8 39 70 02 00       	call   0x43fa13
4189da:	c2 04 00             	ret    $0x4
4189dd:	6a 44                	push   $0x44
4189df:	b8 8a f3 48 00       	mov    $0x48f38a,%eax
4189e4:	e8 61 70 02 00       	call   0x43fa4a
4189e9:	8b f1                	mov    %ecx,%esi
4189eb:	56                   	push   %esi
4189ec:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4189ef:	e8 31 25 ff ff       	call   0x40af25
4189f4:	33 db                	xor    %ebx,%ebx
4189f6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4189f9:	8b 7d 08             	mov    0x8(%ebp),%edi
4189fc:	85 ff                	test   %edi,%edi
4189fe:	0f 84 a8 00 00 00    	je     0x418aac
418a04:	8d 45 d0             	lea    -0x30(%ebp),%eax
418a07:	8b ce                	mov    %esi,%ecx
418a09:	50                   	push   %eax
418a0a:	e8 4f 6c ff ff       	call   0x40f65e
418a0f:	ff 77 0c             	push   0xc(%edi)
418a12:	8b ce                	mov    %esi,%ecx
418a14:	e8 4d 35 00 00       	call   0x41bf66
418a19:	84 c0                	test   %al,%al
418a1b:	75 07                	jne    0x418a24
418a1d:	8b 7f 18             	mov    0x18(%edi),%edi
418a20:	85 ff                	test   %edi,%edi
418a22:	75 e0                	jne    0x418a04
418a24:	85 ff                	test   %edi,%edi
418a26:	0f 84 80 00 00 00    	je     0x418aac
418a2c:	38 5e 6c             	cmp    %bl,0x6c(%esi)
418a2f:	75 04                	jne    0x418a35
418a31:	b3 01                	mov    $0x1,%bl
418a33:	eb 77                	jmp    0x418aac
418a35:	56                   	push   %esi
418a36:	8d 4d b0             	lea    -0x50(%ebp),%ecx
418a39:	e8 e7 24 ff ff       	call   0x40af25
418a3e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418a42:	8b 06                	mov    (%esi),%eax
418a44:	2b 45 d0             	sub    -0x30(%ebp),%eax
418a47:	8b 7f 18             	mov    0x18(%edi),%edi
418a4a:	d1 f8                	sar    $1,%eax
418a4c:	89 7d 08             	mov    %edi,0x8(%ebp)
418a4f:	85 ff                	test   %edi,%edi
418a51:	74 40                	je     0x418a93
418a53:	8b d8                	mov    %eax,%ebx
418a55:	8d 45 d0             	lea    -0x30(%ebp),%eax
418a58:	8b ce                	mov    %esi,%ecx
418a5a:	50                   	push   %eax
418a5b:	e8 fe 6b ff ff       	call   0x40f65e
418a60:	ff 77 0c             	push   0xc(%edi)
418a63:	8b ce                	mov    %esi,%ecx
418a65:	e8 fc 34 00 00       	call   0x41bf66
418a6a:	84 c0                	test   %al,%al
418a6c:	74 19                	je     0x418a87
418a6e:	8b 3e                	mov    (%esi),%edi
418a70:	2b 7d d0             	sub    -0x30(%ebp),%edi
418a73:	d1 ff                	sar    $1,%edi
418a75:	3b df                	cmp    %edi,%ebx
418a77:	7d 0b                	jge    0x418a84
418a79:	56                   	push   %esi
418a7a:	8d 4d b0             	lea    -0x50(%ebp),%ecx
418a7d:	e8 dc 6b ff ff       	call   0x40f65e
418a82:	8b df                	mov    %edi,%ebx
418a84:	8b 7d 08             	mov    0x8(%ebp),%edi
418a87:	8b 7f 18             	mov    0x18(%edi),%edi
418a8a:	89 7d 08             	mov    %edi,0x8(%ebp)
418a8d:	85 ff                	test   %edi,%edi
418a8f:	75 c4                	jne    0x418a55
418a91:	33 db                	xor    %ebx,%ebx
418a93:	8d 45 b0             	lea    -0x50(%ebp),%eax
418a96:	8b ce                	mov    %esi,%ecx
418a98:	50                   	push   %eax
418a99:	e8 c0 6b ff ff       	call   0x40f65e
418a9e:	88 5d fc             	mov    %bl,-0x4(%ebp)
418aa1:	8d 4d b0             	lea    -0x50(%ebp),%ecx
418aa4:	e8 8b 4f ff ff       	call   0x40da34
418aa9:	33 db                	xor    %ebx,%ebx
418aab:	43                   	inc    %ebx
418aac:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418ab0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
418ab3:	e8 7c 4f ff ff       	call   0x40da34
418ab8:	8a c3                	mov    %bl,%al
418aba:	e8 54 6f 02 00       	call   0x43fa13
418abf:	c2 04 00             	ret    $0x4
418ac2:	53                   	push   %ebx
418ac3:	56                   	push   %esi
418ac4:	57                   	push   %edi
418ac5:	8b f9                	mov    %ecx,%edi
418ac7:	6a 08                	push   $0x8
418ac9:	8d 4f 24             	lea    0x24(%edi),%ecx
418acc:	e8 65 38 00 00       	call   0x41c336
418ad1:	8b cf                	mov    %edi,%ecx
418ad3:	8b f0                	mov    %eax,%esi
418ad5:	e8 58 f4 ff ff       	call   0x417f32
418ada:	56                   	push   %esi
418adb:	8d 4f 24             	lea    0x24(%edi),%ecx
418ade:	e8 ae 09 00 00       	call   0x419491
418ae3:	5f                   	pop    %edi
418ae4:	5e                   	pop    %esi
418ae5:	5b                   	pop    %ebx
418ae6:	c3                   	ret
418ae7:	53                   	push   %ebx
418ae8:	56                   	push   %esi
418ae9:	57                   	push   %edi
418aea:	8b f9                	mov    %ecx,%edi
418aec:	6a 08                	push   $0x8
418aee:	8d 4f 24             	lea    0x24(%edi),%ecx
418af1:	e8 8f 38 00 00       	call   0x41c385
418af6:	8b cf                	mov    %edi,%ecx
418af8:	8b f0                	mov    %eax,%esi
418afa:	e8 ad f4 ff ff       	call   0x417fac
418aff:	56                   	push   %esi
418b00:	8d 4f 24             	lea    0x24(%edi),%ecx
418b03:	e8 ee 09 00 00       	call   0x4194f6
418b08:	5f                   	pop    %edi
418b09:	5e                   	pop    %esi
418b0a:	5b                   	pop    %ebx
418b0b:	c3                   	ret
418b0c:	6a 4c                	push   $0x4c
418b0e:	b8 b5 f3 48 00       	mov    $0x48f3b5,%eax
418b13:	e8 32 6f 02 00       	call   0x43fa4a
418b18:	8b f1                	mov    %ecx,%esi
418b1a:	33 db                	xor    %ebx,%ebx
418b1c:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418b1f:	56                   	push   %esi
418b20:	89 5d ec             	mov    %ebx,-0x14(%ebp)
418b23:	e8 fd 22 ff ff       	call   0x40ae25
418b28:	21 5d fc             	and    %ebx,-0x4(%ebp)
418b2b:	8b 7d 08             	mov    0x8(%ebp),%edi
418b2e:	39 5f 14             	cmp    %ebx,0x14(%edi)
418b31:	7e 2f                	jle    0x418b62
418b33:	8b 06                	mov    (%esi),%eax
418b35:	89 45 08             	mov    %eax,0x8(%ebp)
418b38:	ff 77 0c             	push   0xc(%edi)
418b3b:	8b ce                	mov    %esi,%ecx
418b3d:	e8 d0 2c 00 00       	call   0x41b812
418b42:	84 c0                	test   %al,%al
418b44:	0f 84 c2 00 00 00    	je     0x418c0c
418b4a:	8b 0e                	mov    (%esi),%ecx
418b4c:	8b 47 14             	mov    0x14(%edi),%eax
418b4f:	39 4d 08             	cmp    %ecx,0x8(%ebp)
418b52:	75 03                	jne    0x418b57
418b54:	8d 58 ff             	lea    -0x1(%eax),%ebx
418b57:	43                   	inc    %ebx
418b58:	89 4d 08             	mov    %ecx,0x8(%ebp)
418b5b:	89 5d ec             	mov    %ebx,-0x14(%ebp)
418b5e:	3b d8                	cmp    %eax,%ebx
418b60:	7c d6                	jl     0x418b38
418b62:	56                   	push   %esi
418b63:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418b66:	e8 ba 22 ff ff       	call   0x40ae25
418b6b:	33 db                	xor    %ebx,%ebx
418b6d:	43                   	inc    %ebx
418b6e:	88 5d fc             	mov    %bl,-0x4(%ebp)
418b71:	8b 47 1c             	mov    0x1c(%edi),%eax
418b74:	8b 0e                	mov    (%esi),%ecx
418b76:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418b79:	8b ce                	mov    %esi,%ecx
418b7b:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
418b7f:	ff 70 0c             	push   0xc(%eax)
418b82:	e8 8b 2c 00 00       	call   0x41b812
418b87:	84 c0                	test   %al,%al
418b89:	74 16                	je     0x418ba1
418b8b:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418b8f:	0f 84 9c 00 00 00    	je     0x418c31
418b95:	56                   	push   %esi
418b96:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418b99:	e8 4e 6a ff ff       	call   0x40f5ec
418b9e:	88 5d 0b             	mov    %bl,0xb(%ebp)
418ba1:	8b 45 f0             	mov    -0x10(%ebp),%eax
418ba4:	83 7f 18 ff          	cmpl   $0xffffffff,0x18(%edi)
418ba8:	74 11                	je     0x418bbb
418baa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418bad:	8b c1                	mov    %ecx,%eax
418baf:	41                   	inc    %ecx
418bb0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418bb3:	3b 47 18             	cmp    0x18(%edi),%eax
418bb6:	7d 63                	jge    0x418c1b
418bb8:	8b 45 f0             	mov    -0x10(%ebp),%eax
418bbb:	89 06                	mov    %eax,(%esi)
418bbd:	8d 4e 04             	lea    0x4(%esi),%ecx
418bc0:	8d 45 ac             	lea    -0x54(%ebp),%eax
418bc3:	50                   	push   %eax
418bc4:	e8 96 70 ff ff       	call   0x40fc5f
418bc9:	ff 77 0c             	push   0xc(%edi)
418bcc:	8b ce                	mov    %esi,%ecx
418bce:	e8 3f 2c 00 00       	call   0x41b812
418bd3:	84 c0                	test   %al,%al
418bd5:	74 44                	je     0x418c1b
418bd7:	8b 06                	mov    (%esi),%eax
418bd9:	8b ce                	mov    %esi,%ecx
418bdb:	89 45 e8             	mov    %eax,-0x18(%ebp)
418bde:	8b 47 1c             	mov    0x1c(%edi),%eax
418be1:	ff 70 0c             	push   0xc(%eax)
418be4:	e8 29 2c 00 00       	call   0x41b812
418be9:	84 c0                	test   %al,%al
418beb:	74 12                	je     0x418bff
418bed:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418bf1:	74 3e                	je     0x418c31
418bf3:	56                   	push   %esi
418bf4:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418bf7:	e8 f0 69 ff ff       	call   0x40f5ec
418bfc:	88 5d 0b             	mov    %bl,0xb(%ebp)
418bff:	8b 45 e8             	mov    -0x18(%ebp),%eax
418c02:	39 45 f0             	cmp    %eax,-0x10(%ebp)
418c05:	74 14                	je     0x418c1b
418c07:	89 45 f0             	mov    %eax,-0x10(%ebp)
418c0a:	eb 98                	jmp    0x418ba4
418c0c:	8d 45 a8             	lea    -0x58(%ebp),%eax
418c0f:	8b ce                	mov    %esi,%ecx
418c11:	50                   	push   %eax
418c12:	e8 d5 69 ff ff       	call   0x40f5ec
418c17:	32 db                	xor    %bl,%bl
418c19:	eb 22                	jmp    0x418c3d
418c1b:	8a 5d 0b             	mov    0xb(%ebp),%bl
418c1e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c21:	84 db                	test   %bl,%bl
418c23:	8d 45 c8             	lea    -0x38(%ebp),%eax
418c26:	0f 44 c1             	cmove  %ecx,%eax
418c29:	8b ce                	mov    %esi,%ecx
418c2b:	50                   	push   %eax
418c2c:	e8 bb 69 ff ff       	call   0x40f5ec
418c31:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418c35:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418c38:	e8 5b 4d ff ff       	call   0x40d998
418c3d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418c41:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c44:	e8 4f 4d ff ff       	call   0x40d998
418c49:	8a c3                	mov    %bl,%al
418c4b:	e8 c3 6d 02 00       	call   0x43fa13
418c50:	c2 08 00             	ret    $0x8
418c53:	6a 4c                	push   $0x4c
418c55:	b8 e0 f3 48 00       	mov    $0x48f3e0,%eax
418c5a:	e8 eb 6d 02 00       	call   0x43fa4a
418c5f:	8b d9                	mov    %ecx,%ebx
418c61:	33 ff                	xor    %edi,%edi
418c63:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418c66:	53                   	push   %ebx
418c67:	89 7d ec             	mov    %edi,-0x14(%ebp)
418c6a:	e8 4e 22 ff ff       	call   0x40aebd
418c6f:	21 7d fc             	and    %edi,-0x4(%ebp)
418c72:	8b 75 08             	mov    0x8(%ebp),%esi
418c75:	39 7e 14             	cmp    %edi,0x14(%esi)
418c78:	7e 2f                	jle    0x418ca9
418c7a:	8b 03                	mov    (%ebx),%eax
418c7c:	89 45 e8             	mov    %eax,-0x18(%ebp)
418c7f:	ff 76 0c             	push   0xc(%esi)
418c82:	8b cb                	mov    %ebx,%ecx
418c84:	e8 3d 2f 00 00       	call   0x41bbc6
418c89:	84 c0                	test   %al,%al
418c8b:	0f 84 b7 00 00 00    	je     0x418d48
418c91:	8b 0b                	mov    (%ebx),%ecx
418c93:	8b 46 14             	mov    0x14(%esi),%eax
418c96:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
418c99:	75 03                	jne    0x418c9e
418c9b:	8d 78 ff             	lea    -0x1(%eax),%edi
418c9e:	47                   	inc    %edi
418c9f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418ca2:	89 7d ec             	mov    %edi,-0x14(%ebp)
418ca5:	3b f8                	cmp    %eax,%edi
418ca7:	7c d6                	jl     0x418c7f
418ca9:	53                   	push   %ebx
418caa:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418cad:	e8 0b 22 ff ff       	call   0x40aebd
418cb2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
418cb6:	8b cb                	mov    %ebx,%ecx
418cb8:	8b 46 1c             	mov    0x1c(%esi),%eax
418cbb:	8b 3b                	mov    (%ebx),%edi
418cbd:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
418cc1:	ff 70 0c             	push   0xc(%eax)
418cc4:	e8 fd 2e 00 00       	call   0x41bbc6
418cc9:	84 c0                	test   %al,%al
418ccb:	74 17                	je     0x418ce4
418ccd:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418cd1:	0f 84 80 00 00 00    	je     0x418d57
418cd7:	53                   	push   %ebx
418cd8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418cdb:	e8 45 69 ff ff       	call   0x40f625
418ce0:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418ce4:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
418ce8:	74 0e                	je     0x418cf8
418cea:	8b 4d ec             	mov    -0x14(%ebp),%ecx
418ced:	8b c1                	mov    %ecx,%eax
418cef:	41                   	inc    %ecx
418cf0:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418cf3:	3b 46 18             	cmp    0x18(%esi),%eax
418cf6:	7d 64                	jge    0x418d5c
418cf8:	8d 45 ac             	lea    -0x54(%ebp),%eax
418cfb:	89 3b                	mov    %edi,(%ebx)
418cfd:	50                   	push   %eax
418cfe:	8d 4b 04             	lea    0x4(%ebx),%ecx
418d01:	e8 59 6f ff ff       	call   0x40fc5f
418d06:	ff 76 0c             	push   0xc(%esi)
418d09:	8b cb                	mov    %ebx,%ecx
418d0b:	e8 b6 2e 00 00       	call   0x41bbc6
418d10:	84 c0                	test   %al,%al
418d12:	74 48                	je     0x418d5c
418d14:	8b 45 08             	mov    0x8(%ebp),%eax
418d17:	8b cb                	mov    %ebx,%ecx
418d19:	8b 33                	mov    (%ebx),%esi
418d1b:	8b 40 1c             	mov    0x1c(%eax),%eax
418d1e:	ff 70 0c             	push   0xc(%eax)
418d21:	e8 a0 2e 00 00       	call   0x41bbc6
418d26:	84 c0                	test   %al,%al
418d28:	74 13                	je     0x418d3d
418d2a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
418d2e:	74 27                	je     0x418d57
418d30:	53                   	push   %ebx
418d31:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418d34:	e8 ec 68 ff ff       	call   0x40f625
418d39:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
418d3d:	3b fe                	cmp    %esi,%edi
418d3f:	74 1b                	je     0x418d5c
418d41:	8b fe                	mov    %esi,%edi
418d43:	8b 75 08             	mov    0x8(%ebp),%esi
418d46:	eb 9c                	jmp    0x418ce4
418d48:	8d 45 a8             	lea    -0x58(%ebp),%eax
418d4b:	8b cb                	mov    %ebx,%ecx
418d4d:	50                   	push   %eax
418d4e:	e8 d2 68 ff ff       	call   0x40f625
418d53:	32 db                	xor    %bl,%bl
418d55:	eb 29                	jmp    0x418d80
418d57:	33 db                	xor    %ebx,%ebx
418d59:	43                   	inc    %ebx
418d5a:	eb 18                	jmp    0x418d74
418d5c:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
418d60:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418d63:	8d 45 c8             	lea    -0x38(%ebp),%eax
418d66:	0f 44 c1             	cmove  %ecx,%eax
418d69:	8b cb                	mov    %ebx,%ecx
418d6b:	50                   	push   %eax
418d6c:	e8 b4 68 ff ff       	call   0x40f625
418d71:	8a 5d f3             	mov    -0xd(%ebp),%bl
418d74:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
418d78:	8d 4d c8             	lea    -0x38(%ebp),%ecx
418d7b:	e8 66 4c ff ff       	call   0x40d9e6
418d80:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
418d84:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418d87:	e8 5a 4c ff ff       	call   0x40d9e6
418d8c:	8a c3                	mov    %bl,%al
418d8e:	e8 80 6c 02 00       	call   0x43fa13
418d93:	c2 08 00             	ret    $0x8
418d96:	6a 4c                	push   $0x4c
418d98:	b8 0b f4 48 00       	mov    $0x48f40b,%eax
418d9d:	e8 a8 6c 02 00       	call   0x43fa4a
418da2:	8b d9                	mov    %ecx,%ebx
418da4:	33 ff                	xor    %edi,%edi
418da6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
418da9:	53                   	push   %ebx
418daa:	89 7d ec             	mov    %edi,-0x14(%ebp)