5408a6:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
5408aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5408ad:	8b 18                	mov    (%eax),%ebx
5408af:	ff 53 24             	call   *0x24(%ebx)
5408b2:	eb 26                	jmp    0x5408da
5408b4:	6a 05                	push   $0x5
5408b6:	0f b7 4d f1          	movzwl -0xf(%ebp),%ecx
5408ba:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
5408be:	8b 45 fc             	mov    -0x4(%ebp),%eax
5408c1:	8b 18                	mov    (%eax),%ebx
5408c3:	ff 53 24             	call   *0x24(%ebx)
5408c6:	eb 12                	jmp    0x5408da
5408c8:	6a 01                	push   $0x1
5408ca:	0f b7 4d f1          	movzwl -0xf(%ebp),%ecx
5408ce:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
5408d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5408d5:	8b 18                	mov    (%eax),%ebx
5408d7:	ff 53 24             	call   *0x24(%ebx)
5408da:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5408de:	75 3c                	jne    0x54091c
5408e0:	8b 45 0c             	mov    0xc(%ebp),%eax
5408e3:	83 38 00             	cmpl   $0x0,(%eax)
5408e6:	75 11                	jne    0x5408f9
5408e8:	b2 01                	mov    $0x1,%dl
5408ea:	a1 a4 fd 5e 00       	mov    0x5efda4,%eax
5408ef:	e8 80 22 0b 00       	call   0x5f2b74
5408f4:	8b 55 0c             	mov    0xc(%ebp),%edx
5408f7:	89 02                	mov    %eax,(%edx)
5408f9:	6a 08                	push   $0x8
5408fb:	0f b7 4d f1          	movzwl -0xf(%ebp),%ecx
5408ff:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
540903:	8b 45 0c             	mov    0xc(%ebp),%eax
540906:	8b 00                	mov    (%eax),%eax
540908:	e8 33 26 0b 00       	call   0x5f2f40
54090d:	8b 45 0c             	mov    0xc(%ebp),%eax
540910:	8b 00                	mov    (%eax),%eax
540912:	ba ff 00 00 00       	mov    $0xff,%edx
540917:	e8 08 3e 0b 00       	call   0x5f4724
54091c:	80 7d cb 00          	cmpb   $0x0,-0x35(%ebp)
540920:	0f 84 ab 01 00 00    	je     0x540ad1
540926:	8b 45 18             	mov    0x18(%ebp),%eax
540929:	8b 00                	mov    (%eax),%eax
54092b:	80 b8 a5 03 00 00 00 	cmpb   $0x0,0x3a5(%eax)
540932:	0f 84 ed 00 00 00    	je     0x540a25
540938:	8b 45 18             	mov    0x18(%ebp),%eax
54093b:	8b 00                	mov    (%eax),%eax
54093d:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
540943:	48                   	dec    %eax
540944:	85 c0                	test   %eax,%eax
540946:	7c 3b                	jl     0x540983
540948:	40                   	inc    %eax
540949:	89 45 ac             	mov    %eax,-0x54(%ebp)
54094c:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
540953:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540956:	8d 04 40             	lea    (%eax,%eax,2),%eax
540959:	8b 55 18             	mov    0x18(%ebp),%edx
54095c:	8b 12                	mov    (%edx),%edx
54095e:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
540964:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
540968:	c1 e1 10             	shl    $0x10,%ecx
54096b:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
54096f:	51                   	push   %ecx
540970:	8b 55 d4             	mov    -0x2c(%ebp),%edx
540973:	8b 45 fc             	mov    -0x4(%ebp),%eax
540976:	8b 08                	mov    (%eax),%ecx
540978:	ff 51 1c             	call   *0x1c(%ecx)
54097b:	ff 45 d4             	incl   -0x2c(%ebp)
54097e:	ff 4d ac             	decl   -0x54(%ebp)
540981:	75 d0                	jne    0x540953
540983:	8b 45 18             	mov    0x18(%ebp),%eax
540986:	8b 00                	mov    (%eax),%eax
540988:	8b 48 08             	mov    0x8(%eax),%ecx
54098b:	b8 01 00 00 00       	mov    $0x1,%eax
540990:	d3 e0                	shl    %cl,%eax
540992:	8b 55 fc             	mov    -0x4(%ebp),%edx
540995:	89 42 50             	mov    %eax,0x50(%edx)
540998:	0f b7 45 f1          	movzwl -0xf(%ebp),%eax
54099c:	48                   	dec    %eax
54099d:	85 c0                	test   %eax,%eax
54099f:	0f 8c f5 01 00 00    	jl     0x540b9a
5409a5:	40                   	inc    %eax
5409a6:	89 45 ac             	mov    %eax,-0x54(%ebp)
5409a9:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5409b0:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5409b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5409b6:	8b 08                	mov    (%eax),%ecx
5409b8:	ff 11                	call   *(%ecx)
5409ba:	89 45 cc             	mov    %eax,-0x34(%ebp)
5409bd:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
5409c1:	48                   	dec    %eax
5409c2:	85 c0                	test   %eax,%eax
5409c4:	7c 52                	jl     0x540a18
5409c6:	40                   	inc    %eax
5409c7:	89 45 a8             	mov    %eax,-0x58(%ebp)
5409ca:	33 ff                	xor    %edi,%edi
5409cc:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
5409d0:	f7 6d d4             	imull  -0x2c(%ebp)
5409d3:	03 c7                	add    %edi,%eax
5409d5:	8b 55 e0             	mov    -0x20(%ebp),%edx
5409d8:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
5409dc:	8b 55 cc             	mov    -0x34(%ebp),%edx
5409df:	88 02                	mov    %al,(%edx)
5409e1:	ff 45 cc             	incl   -0x34(%ebp)
5409e4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5409e8:	75 28                	jne    0x540a12
5409ea:	33 d2                	xor    %edx,%edx
5409ec:	8a 55 ea             	mov    -0x16(%ebp),%dl
5409ef:	3b c2                	cmp    %edx,%eax
5409f1:	75 1f                	jne    0x540a12
5409f3:	8b 45 18             	mov    0x18(%ebp),%eax
5409f6:	8b 00                	mov    (%eax),%eax
5409f8:	80 b8 94 00 00 00 00 	cmpb   $0x0,0x94(%eax)
5409ff:	74 11                	je     0x540a12
540a01:	6a 00                	push   $0x0
540a03:	8b 45 0c             	mov    0xc(%ebp),%eax
540a06:	8b 00                	mov    (%eax),%eax
540a08:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
540a0b:	8b d7                	mov    %edi,%edx
540a0d:	e8 46 22 0b 00       	call   0x5f2c58
540a12:	47                   	inc    %edi
540a13:	ff 4d a8             	decl   -0x58(%ebp)
540a16:	75 b4                	jne    0x5409cc
540a18:	ff 45 d4             	incl   -0x2c(%ebp)
540a1b:	ff 4d ac             	decl   -0x54(%ebp)
540a1e:	75 90                	jne    0x5409b0
540a20:	e9 75 01 00 00       	jmp    0x540b9a
540a25:	0f b7 45 f1          	movzwl -0xf(%ebp),%eax
540a29:	48                   	dec    %eax
540a2a:	85 c0                	test   %eax,%eax
540a2c:	0f 8c 68 01 00 00    	jl     0x540b9a
540a32:	40                   	inc    %eax
540a33:	89 45 ac             	mov    %eax,-0x54(%ebp)
540a36:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
540a3d:	8b 55 d4             	mov    -0x2c(%ebp),%edx
540a40:	8b 45 fc             	mov    -0x4(%ebp),%eax
540a43:	8b 08                	mov    (%eax),%ecx
540a45:	ff 11                	call   *(%ecx)
540a47:	89 45 d0             	mov    %eax,-0x30(%ebp)
540a4a:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
540a4e:	48                   	dec    %eax
540a4f:	85 c0                	test   %eax,%eax
540a51:	7c 6d                	jl     0x540ac0
540a53:	40                   	inc    %eax
540a54:	89 45 a8             	mov    %eax,-0x58(%ebp)
540a57:	33 ff                	xor    %edi,%edi
540a59:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
540a5d:	f7 6d d4             	imull  -0x2c(%ebp)
540a60:	03 c7                	add    %edi,%eax
540a62:	8b 55 e0             	mov    -0x20(%ebp),%edx
540a65:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
540a69:	8d 14 40             	lea    (%eax,%eax,2),%edx
540a6c:	8b 4d 18             	mov    0x18(%ebp),%ecx
540a6f:	8b 09                	mov    (%ecx),%ecx
540a71:	8b 89 a8 03 00 00    	mov    0x3a8(%ecx),%ecx
540a77:	8b 5d d0             	mov    -0x30(%ebp),%ebx
540a7a:	03 ca                	add    %edx,%ecx
540a7c:	66 8b 11             	mov    (%ecx),%dx
540a7f:	66 89 13             	mov    %dx,(%ebx)
540a82:	8a 51 02             	mov    0x2(%ecx),%dl
540a85:	88 53 02             	mov    %dl,0x2(%ebx)
540a88:	83 45 d0 03          	addl   $0x3,-0x30(%ebp)
540a8c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
540a90:	75 28                	jne    0x540aba
540a92:	33 d2                	xor    %edx,%edx
540a94:	8a 55 ea             	mov    -0x16(%ebp),%dl
540a97:	3b c2                	cmp    %edx,%eax
540a99:	75 1f                	jne    0x540aba
540a9b:	8b 45 18             	mov    0x18(%ebp),%eax
540a9e:	8b 00                	mov    (%eax),%eax
540aa0:	80 b8 94 00 00 00 00 	cmpb   $0x0,0x94(%eax)
540aa7:	74 11                	je     0x540aba
540aa9:	6a 00                	push   $0x0
540aab:	8b 45 0c             	mov    0xc(%ebp),%eax
540aae:	8b 00                	mov    (%eax),%eax
540ab0:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
540ab3:	8b d7                	mov    %edi,%edx
540ab5:	e8 9e 21 0b 00       	call   0x5f2c58
540aba:	47                   	inc    %edi
540abb:	ff 4d a8             	decl   -0x58(%ebp)
540abe:	75 99                	jne    0x540a59
540ac0:	ff 45 d4             	incl   -0x2c(%ebp)
540ac3:	ff 4d ac             	decl   -0x54(%ebp)
540ac6:	0f 85 71 ff ff ff    	jne    0x540a3d
540acc:	e9 c9 00 00 00       	jmp    0x540b9a
540ad1:	0f b7 45 f1          	movzwl -0xf(%ebp),%eax
540ad5:	48                   	dec    %eax
540ad6:	85 c0                	test   %eax,%eax
540ad8:	0f 8c bc 00 00 00    	jl     0x540b9a
540ade:	40                   	inc    %eax
540adf:	89 45 ac             	mov    %eax,-0x54(%ebp)
540ae2:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
540ae9:	8b 55 d4             	mov    -0x2c(%ebp),%edx
540aec:	8b 45 fc             	mov    -0x4(%ebp),%eax
540aef:	8b 08                	mov    (%eax),%ecx
540af1:	ff 11                	call   *(%ecx)
540af3:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
540af7:	0f af 55 d4          	imul   -0x2c(%ebp),%edx
540afb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
540afe:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
540b01:	33 ff                	xor    %edi,%edi
540b03:	eb 40                	jmp    0x540b45
540b05:	8a 13                	mov    (%ebx),%dl
540b07:	c1 e2 07             	shl    $0x7,%edx
540b0a:	88 10                	mov    %dl,(%eax)
540b0c:	43                   	inc    %ebx
540b0d:	8a 13                	mov    (%ebx),%dl
540b0f:	c1 e2 06             	shl    $0x6,%edx
540b12:	08 10                	or     %dl,(%eax)
540b14:	43                   	inc    %ebx
540b15:	8a 13                	mov    (%ebx),%dl
540b17:	c1 e2 05             	shl    $0x5,%edx
540b1a:	08 10                	or     %dl,(%eax)
540b1c:	43                   	inc    %ebx
540b1d:	8a 13                	mov    (%ebx),%dl
540b1f:	c1 e2 04             	shl    $0x4,%edx
540b22:	08 10                	or     %dl,(%eax)
540b24:	43                   	inc    %ebx
540b25:	8a 13                	mov    (%ebx),%dl
540b27:	c1 e2 03             	shl    $0x3,%edx
540b2a:	08 10                	or     %dl,(%eax)
540b2c:	43                   	inc    %ebx
540b2d:	8a 13                	mov    (%ebx),%dl
540b2f:	c1 e2 02             	shl    $0x2,%edx
540b32:	08 10                	or     %dl,(%eax)
540b34:	43                   	inc    %ebx
540b35:	8a 13                	mov    (%ebx),%dl
540b37:	03 d2                	add    %edx,%edx
540b39:	08 10                	or     %dl,(%eax)
540b3b:	43                   	inc    %ebx
540b3c:	8a 13                	mov    (%ebx),%dl
540b3e:	08 10                	or     %dl,(%eax)
540b40:	43                   	inc    %ebx
540b41:	40                   	inc    %eax
540b42:	83 c7 08             	add    $0x8,%edi
540b45:	0f b7 55 ef          	movzwl -0x11(%ebp),%edx
540b49:	4a                   	dec    %edx
540b4a:	3b fa                	cmp    %edx,%edi
540b4c:	7c b7                	jl     0x540b05
540b4e:	0f b7 45 ef          	movzwl -0x11(%ebp),%eax
540b52:	8b d0                	mov    %eax,%edx
540b54:	0f af 55 d4          	imul   -0x2c(%ebp),%edx
540b58:	8b 4d e0             	mov    -0x20(%ebp),%ecx
540b5b:	8d 1c 11             	lea    (%ecx,%edx,1),%ebx
540b5e:	48                   	dec    %eax
540b5f:	85 c0                	test   %eax,%eax
540b61:	7c 2b                	jl     0x540b8e
540b63:	40                   	inc    %eax
540b64:	89 45 a8             	mov    %eax,-0x58(%ebp)
540b67:	33 ff                	xor    %edi,%edi
540b69:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
540b6d:	75 18                	jne    0x540b87
540b6f:	8a 45 ea             	mov    -0x16(%ebp),%al
540b72:	3a 03                	cmp    (%ebx),%al
540b74:	75 11                	jne    0x540b87
540b76:	6a 00                	push   $0x0
540b78:	8b 45 0c             	mov    0xc(%ebp),%eax
540b7b:	8b 00                	mov    (%eax),%eax
540b7d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
540b80:	8b d7                	mov    %edi,%edx
540b82:	e8 d1 20 0b 00       	call   0x5f2c58
540b87:	43                   	inc    %ebx
540b88:	47                   	inc    %edi
540b89:	ff 4d a8             	decl   -0x58(%ebp)
540b8c:	75 db                	jne    0x540b69
540b8e:	ff 45 d4             	incl   -0x2c(%ebp)
540b91:	ff 4d ac             	decl   -0x54(%ebp)
540b94:	0f 85 4f ff ff ff    	jne    0x540ae9
540b9a:	8b 45 e0             	mov    -0x20(%ebp),%eax
540b9d:	e8 2a 1c ec ff       	call   0x4027cc
540ba2:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
540ba6:	75 71                	jne    0x540c19
540ba8:	8b 45 0c             	mov    0xc(%ebp),%eax
540bab:	8b 00                	mov    (%eax),%eax
540bad:	e8 1a 44 0b 00       	call   0x5f4fcc
540bb2:	8b 45 0c             	mov    0xc(%ebp),%eax
540bb5:	8b 00                	mov    (%eax),%eax
540bb7:	80 78 68 00          	cmpb   $0x0,0x68(%eax)
540bbb:	74 5c                	je     0x540c19
540bbd:	8b 45 0c             	mov    0xc(%ebp),%eax
540bc0:	8b 00                	mov    (%eax),%eax
540bc2:	e8 b1 2e ec ff       	call   0x403a78
540bc7:	8b 45 0c             	mov    0xc(%ebp),%eax
540bca:	33 d2                	xor    %edx,%edx
540bcc:	89 10                	mov    %edx,(%eax)
540bce:	eb 49                	jmp    0x540c19
540bd0:	8d 55 e6             	lea    -0x1a(%ebp),%edx
540bd3:	b9 01 00 00 00       	mov    $0x1,%ecx
540bd8:	8b c6                	mov    %esi,%eax
540bda:	8b 18                	mov    (%eax),%ebx
540bdc:	ff 53 08             	call   *0x8(%ebx)
540bdf:	8d 55 e6             	lea    -0x1a(%ebp),%edx
540be2:	b9 01 00 00 00       	mov    $0x1,%ecx
540be7:	8b c6                	mov    %esi,%eax
540be9:	8b 18                	mov    (%eax),%ebx
540beb:	ff 53 08             	call   *0x8(%ebx)
540bee:	33 d2                	xor    %edx,%edx
540bf0:	8a 55 e6             	mov    -0x1a(%ebp),%dl
540bf3:	66 b9 01 00          	mov    $0x1,%cx
540bf7:	8b c6                	mov    %esi,%eax
540bf9:	8b 18                	mov    (%eax),%ebx
540bfb:	ff 53 10             	call   *0x10(%ebx)
540bfe:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
540c02:	74 15                	je     0x540c19
540c04:	8b c6                	mov    %esi,%eax
540c06:	e8 ad da ed ff       	call   0x41e6b8
540c0b:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540c0e:	75 07                	jne    0x540c17
540c10:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540c13:	72 ca                	jb     0x540bdf
540c15:	eb 02                	jmp    0x540c19
540c17:	7c c6                	jl     0x540bdf
540c19:	8b 45 f8             	mov    -0x8(%ebp),%eax
540c1c:	ff 00                	incl   (%eax)
540c1e:	e9 ab f7 ff ff       	jmp    0x5403ce
540c23:	8d 55 be             	lea    -0x42(%ebp),%edx
540c26:	b9 01 00 00 00       	mov    $0x1,%ecx
540c2b:	8b c6                	mov    %esi,%eax
540c2d:	8b 18                	mov    (%eax),%ebx
540c2f:	ff 53 08             	call   *0x8(%ebx)
540c32:	80 7d be f9          	cmpb   $0xf9,-0x42(%ebp)
540c36:	75 3c                	jne    0x540c74
540c38:	8b 45 f8             	mov    -0x8(%ebp),%eax
540c3b:	8b 00                	mov    (%eax),%eax
540c3d:	3b 45 f4             	cmp    -0xc(%ebp),%eax
540c40:	75 32                	jne    0x540c74
540c42:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c45:	b9 01 00 00 00       	mov    $0x1,%ecx
540c4a:	8b c6                	mov    %esi,%eax
540c4c:	8b 18                	mov    (%eax),%ebx
540c4e:	ff 53 08             	call   *0x8(%ebx)
540c51:	8d 55 e7             	lea    -0x19(%ebp),%edx
540c54:	b9 04 00 00 00       	mov    $0x4,%ecx
540c59:	8b c6                	mov    %esi,%eax
540c5b:	8b 18                	mov    (%eax),%ebx
540c5d:	ff 53 08             	call   *0x8(%ebx)
540c60:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c63:	b9 01 00 00 00       	mov    $0x1,%ecx
540c68:	8b c6                	mov    %esi,%eax
540c6a:	8b 18                	mov    (%eax),%ebx
540c6c:	ff 53 08             	call   *0x8(%ebx)
540c6f:	e9 5a f7 ff ff       	jmp    0x5403ce
540c74:	80 7d be fe          	cmpb   $0xfe,-0x42(%ebp)
540c78:	0f 85 a8 00 00 00    	jne    0x540d26
540c7e:	8d 55 bd             	lea    -0x43(%ebp),%edx
540c81:	b9 01 00 00 00       	mov    $0x1,%ecx
540c86:	8b c6                	mov    %esi,%eax
540c88:	8b 18                	mov    (%eax),%ebx
540c8a:	ff 53 08             	call   *0x8(%ebx)
540c8d:	eb 68                	jmp    0x540cf7
540c8f:	33 c0                	xor    %eax,%eax