541d78:	7f 73                	jg     0x541ded
541d7a:	83 7d d8 03          	cmpl   $0x3,-0x28(%ebp)
541d7e:	75 6d                	jne    0x541ded
541d80:	6a 02                	push   $0x2
541d82:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541d85:	8b 55 ec             	mov    -0x14(%ebp),%edx
541d88:	8b 45 f8             	mov    -0x8(%ebp),%eax
541d8b:	8b 38                	mov    (%eax),%edi
541d8d:	ff 57 24             	call   *0x24(%edi)
541d90:	8b 06                	mov    (%esi),%eax
541d92:	8b 48 08             	mov    0x8(%eax),%ecx
541d95:	b8 01 00 00 00       	mov    $0x1,%eax
541d9a:	d3 e0                	shl    %cl,%eax
541d9c:	8b 55 f8             	mov    -0x8(%ebp),%edx
541d9f:	89 42 50             	mov    %eax,0x50(%edx)
541da2:	8b 06                	mov    (%esi),%eax
541da4:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
541daa:	48                   	dec    %eax
541dab:	85 c0                	test   %eax,%eax
541dad:	0f 8c 8a 00 00 00    	jl     0x541e3d
541db3:	40                   	inc    %eax
541db4:	89 45 90             	mov    %eax,-0x70(%ebp)
541db7:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
541dbe:	8b 45 d0             	mov    -0x30(%ebp),%eax
541dc1:	8d 04 40             	lea    (%eax,%eax,2),%eax
541dc4:	8b 16                	mov    (%esi),%edx
541dc6:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
541dcc:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
541dd0:	c1 e1 10             	shl    $0x10,%ecx
541dd3:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
541dd7:	51                   	push   %ecx
541dd8:	8b 55 d0             	mov    -0x30(%ebp),%edx
541ddb:	8b 45 f8             	mov    -0x8(%ebp),%eax
541dde:	8b 08                	mov    (%eax),%ecx
541de0:	ff 51 1c             	call   *0x1c(%ecx)
541de3:	ff 45 d0             	incl   -0x30(%ebp)
541de6:	ff 4d 90             	decl   -0x70(%ebp)
541de9:	75 d3                	jne    0x541dbe
541deb:	eb 50                	jmp    0x541e3d
541ded:	8b 06                	mov    (%esi),%eax
541def:	83 78 08 08          	cmpl   $0x8,0x8(%eax)
541df3:	75 18                	jne    0x541e0d
541df5:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541df9:	75 12                	jne    0x541e0d
541dfb:	6a 03                	push   $0x3
541dfd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541e00:	8b 55 ec             	mov    -0x14(%ebp),%edx
541e03:	8b 45 f8             	mov    -0x8(%ebp),%eax
541e06:	8b 30                	mov    (%eax),%esi
541e08:	ff 56 24             	call   *0x24(%esi)
541e0b:	eb 30                	jmp    0x541e3d
541e0d:	8b 06                	mov    (%esi),%eax
541e0f:	83 78 08 10          	cmpl   $0x10,0x8(%eax)
541e13:	75 28                	jne    0x541e3d
541e15:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
541e19:	75 22                	jne    0x541e3d
541e1b:	6a 04                	push   $0x4
541e1d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541e20:	8b 55 ec             	mov    -0x14(%ebp),%edx
541e23:	8b 45 f8             	mov    -0x8(%ebp),%eax
541e26:	8b 30                	mov    (%eax),%esi
541e28:	ff 56 24             	call   *0x24(%esi)
541e2b:	eb 10                	jmp    0x541e3d
541e2d:	6a 05                	push   $0x5
541e2f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
541e32:	8b 55 ec             	mov    -0x14(%ebp),%edx
541e35:	8b 45 f8             	mov    -0x8(%ebp),%eax
541e38:	8b 30                	mov    (%eax),%esi
541e3a:	ff 56 24             	call   *0x24(%esi)
541e3d:	8b 45 cc             	mov    -0x34(%ebp),%eax
541e40:	99                   	cltd
541e41:	52                   	push   %edx
541e42:	50                   	push   %eax
541e43:	8b 45 e8             	mov    -0x18(%ebp),%eax
541e46:	33 d2                	xor    %edx,%edx
541e48:	e8 37 3c ec ff       	call   0x405a84
541e4d:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
541e53:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
541e59:	df ad 78 ff ff ff    	fildll -0x88(%ebp)
541e5f:	d8 3d ac 20 54 00    	fdivrs 0x5420ac
541e65:	dd 5b 18             	fstpl  0x18(%ebx)
541e68:	9b                   	fwait
541e69:	33 c0                	xor    %eax,%eax
541e6b:	89 43 0c             	mov    %eax,0xc(%ebx)
541e6e:	8b 55 f0             	mov    -0x10(%ebp),%edx
541e71:	8b 45 f4             	mov    -0xc(%ebp),%eax
541e74:	e8 cf c5 00 00       	call   0x54e448
541e79:	25 ff 00 00 00       	and    $0xff,%eax
541e7e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
541e81:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
541e85:	75 16                	jne    0x541e9d
541e87:	83 7d cc 01          	cmpl   $0x1,-0x34(%ebp)
541e8b:	75 10                	jne    0x541e9d
541e8d:	8b 45 ec             	mov    -0x14(%ebp),%eax
541e90:	c1 e0 02             	shl    $0x2,%eax
541e93:	e8 14 09 ec ff       	call   0x4027ac
541e98:	89 45 a0             	mov    %eax,-0x60(%ebp)
541e9b:	eb 24                	jmp    0x541ec1
541e9d:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
541ea1:	75 19                	jne    0x541ebc
541ea3:	83 7d cc 01          	cmpl   $0x1,-0x34(%ebp)
541ea7:	7e 13                	jle    0x541ebc
541ea9:	8b 45 ec             	mov    -0x14(%ebp),%eax
541eac:	f7 6d e8             	imull  -0x18(%ebp)
541eaf:	c1 e0 02             	shl    $0x2,%eax
541eb2:	e8 f5 08 ec ff       	call   0x4027ac
541eb7:	89 45 a0             	mov    %eax,-0x60(%ebp)
541eba:	eb 05                	jmp    0x541ec1
541ebc:	33 c0                	xor    %eax,%eax
541ebe:	89 45 a0             	mov    %eax,-0x60(%ebp)
541ec1:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
541ec5:	75 0f                	jne    0x541ed6
541ec7:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
541ecb:	75 09                	jne    0x541ed6
541ecd:	8b 45 0c             	mov    0xc(%ebp),%eax
541ed0:	8b 00                	mov    (%eax),%eax
541ed2:	c6 40 68 00          	movb   $0x0,0x68(%eax)
541ed6:	8b 45 cc             	mov    -0x34(%ebp),%eax
541ed9:	48                   	dec    %eax
541eda:	85 c0                	test   %eax,%eax
541edc:	0f 8c 2b 01 00 00    	jl     0x54200d
541ee2:	40                   	inc    %eax
541ee3:	89 45 90             	mov    %eax,-0x70(%ebp)
541ee6:	8b 45 e8             	mov    -0x18(%ebp),%eax
541ee9:	48                   	dec    %eax
541eea:	85 c0                	test   %eax,%eax
541eec:	0f 8c 0a 01 00 00    	jl     0x541ffc
541ef2:	40                   	inc    %eax
541ef3:	89 45 8c             	mov    %eax,-0x74(%ebp)
541ef6:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
541efd:	8b 55 c4             	mov    -0x3c(%ebp),%edx
541f00:	8b 45 f8             	mov    -0x8(%ebp),%eax
541f03:	8b 08                	mov    (%eax),%ecx
541f05:	ff 11                	call   *(%ecx)
541f07:	89 45 c0             	mov    %eax,-0x40(%ebp)
541f0a:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
541f0e:	0f 85 a6 00 00 00    	jne    0x541fba
541f14:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
541f18:	0f 85 9c 00 00 00    	jne    0x541fba
541f1e:	83 7d cc 01          	cmpl   $0x1,-0x34(%ebp)
541f22:	7e 3d                	jle    0x541f61
541f24:	6a 00                	push   $0x0
541f26:	6a 04                	push   $0x4
541f28:	8b 45 ec             	mov    -0x14(%ebp),%eax
541f2b:	33 d2                	xor    %edx,%edx
541f2d:	52                   	push   %edx
541f2e:	50                   	push   %eax
541f2f:	8b 45 c4             	mov    -0x3c(%ebp),%eax
541f32:	99                   	cltd
541f33:	e8 4c 3b ec ff       	call   0x405a84
541f38:	e8 47 3b ec ff       	call   0x405a84
541f3d:	52                   	push   %edx
541f3e:	50                   	push   %eax
541f3f:	8b 45 a0             	mov    -0x60(%ebp),%eax
541f42:	99                   	cltd
541f43:	03 04 24             	add    (%esp),%eax
541f46:	13 54 24 04          	adc    0x4(%esp),%edx
541f4a:	83 c4 08             	add    $0x8,%esp
541f4d:	89 45 9c             	mov    %eax,-0x64(%ebp)
541f50:	6a 01                	push   $0x1
541f52:	8d 55 9c             	lea    -0x64(%ebp),%edx
541f55:	33 c9                	xor    %ecx,%ecx
541f57:	8b 45 f4             	mov    -0xc(%ebp),%eax
541f5a:	e8 19 0e 00 00       	call   0x542d78
541f5f:	eb 15                	jmp    0x541f76
541f61:	6a 01                	push   $0x1
541f63:	8d 55 a0             	lea    -0x60(%ebp),%edx
541f66:	33 c9                	xor    %ecx,%ecx
541f68:	8b 45 f4             	mov    -0xc(%ebp),%eax
541f6b:	e8 08 0e 00 00       	call   0x542d78
541f70:	8b 45 a0             	mov    -0x60(%ebp),%eax
541f73:	89 45 9c             	mov    %eax,-0x64(%ebp)
541f76:	8b 45 0c             	mov    0xc(%ebp),%eax
541f79:	8b 00                	mov    (%eax),%eax
541f7b:	8b 55 c4             	mov    -0x3c(%ebp),%edx
541f7e:	e8 91 27 0b 00       	call   0x5f4714
541f83:	8b d0                	mov    %eax,%edx
541f85:	8b 45 ec             	mov    -0x14(%ebp),%eax
541f88:	48                   	dec    %eax
541f89:	85 c0                	test   %eax,%eax
541f8b:	7c 3c                	jl     0x541fc9
541f8d:	40                   	inc    %eax
541f8e:	8b 4d c0             	mov    -0x40(%ebp),%ecx
541f91:	8b 75 9c             	mov    -0x64(%ebp),%esi
541f94:	8b f9                	mov    %ecx,%edi
541f96:	66 8b 0e             	mov    (%esi),%cx
541f99:	66 89 0f             	mov    %cx,(%edi)
541f9c:	8a 4e 02             	mov    0x2(%esi),%cl
541f9f:	88 4f 02             	mov    %cl,0x2(%edi)
541fa2:	83 45 9c 03          	addl   $0x3,-0x64(%ebp)
541fa6:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
541fa9:	8a 09                	mov    (%ecx),%cl
541fab:	88 0a                	mov    %cl,(%edx)
541fad:	42                   	inc    %edx
541fae:	ff 45 9c             	incl   -0x64(%ebp)
541fb1:	83 45 c0 03          	addl   $0x3,-0x40(%ebp)
541fb5:	48                   	dec    %eax
541fb6:	75 d6                	jne    0x541f8e
541fb8:	eb 0f                	jmp    0x541fc9
541fba:	6a 01                	push   $0x1
541fbc:	8d 55 c0             	lea    -0x40(%ebp),%edx
541fbf:	33 c9                	xor    %ecx,%ecx
541fc1:	8b 45 f4             	mov    -0xc(%ebp),%eax
541fc4:	e8 af 0d 00 00       	call   0x542d78
541fc9:	ff 43 0c             	incl   0xc(%ebx)
541fcc:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
541fd1:	74 15                	je     0x541fe8
541fd3:	db 43 0c             	fildl  0xc(%ebx)
541fd6:	dc 4b 18             	fmull  0x18(%ebx)
541fd9:	e8 ee 0c ec ff       	call   0x402ccc
541fde:	8b c8                	mov    %eax,%ecx
541fe0:	8b 53 08             	mov    0x8(%ebx),%edx
541fe3:	8b 43 04             	mov    0x4(%ebx),%eax
541fe6:	ff 13                	call   *(%ebx)
541fe8:	8b 43 28             	mov    0x28(%ebx),%eax
541feb:	80 38 00             	cmpb   $0x0,(%eax)
541fee:	75 0c                	jne    0x541ffc
541ff0:	ff 45 c4             	incl   -0x3c(%ebp)
541ff3:	ff 4d 8c             	decl   -0x74(%ebp)
541ff6:	0f 85 01 ff ff ff    	jne    0x541efd
541ffc:	8b 43 28             	mov    0x28(%ebx),%eax
541fff:	80 38 00             	cmpb   $0x0,(%eax)
542002:	75 09                	jne    0x54200d
542004:	ff 4d 90             	decl   -0x70(%ebp)
542007:	0f 85 d9 fe ff ff    	jne    0x541ee6
54200d:	83 7d a4 04          	cmpl   $0x4,-0x5c(%ebp)
542011:	75 08                	jne    0x54201b
542013:	8b 45 a0             	mov    -0x60(%ebp),%eax
542016:	e8 b1 07 ec ff       	call   0x4027cc
54201b:	8b 43 28             	mov    0x28(%ebx),%eax
54201e:	80 38 00             	cmpb   $0x0,(%eax)
542021:	75 0b                	jne    0x54202e
542023:	8b 55 f0             	mov    -0x10(%ebp),%edx
542026:	8b 45 f4             	mov    -0xc(%ebp),%eax
542029:	e8 4a 0e 00 00       	call   0x542e78
54202e:	33 c0                	xor    %eax,%eax
542030:	5a                   	pop    %edx
542031:	59                   	pop    %ecx
542032:	59                   	pop    %ecx
542033:	64 89 10             	mov    %edx,%fs:(%eax)
542036:	68 56 20 54 00       	push   $0x542056
54203b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
54203f:	74 0d                	je     0x54204e
542041:	8d 55 f0             	lea    -0x10(%ebp),%edx
542044:	8d 45 f4             	lea    -0xc(%ebp),%eax
542047:	33 c9                	xor    %ecx,%ecx
542049:	e8 f2 11 00 00       	call   0x543240
54204e:	c3                   	ret
54204f:	e9 b8 21 ec ff       	jmp    0x40420c
542054:	eb e5                	jmp    0x54203b
542056:	33 c0                	xor    %eax,%eax
542058:	5a                   	pop    %edx
542059:	59                   	pop    %ecx
54205a:	59                   	pop    %ecx
54205b:	64 89 10             	mov    %edx,%fs:(%eax)
54205e:	eb 16                	jmp    0x542076
542060:	e9 1f 20 ec ff       	jmp    0x404084
542065:	01 00                	add    %eax,(%eax)
542067:	00 00                	add    %al,(%eax)
542069:	34 85                	xor    $0x85,%al
54206b:	40                   	inc    %eax
54206c:	00 71 20             	add    %dh,0x20(%ecx)
54206f:	54                   	push   %esp
542070:	00 e8                	add    %ch,%al
542072:	4a                   	dec    %edx
542073:	22 ec                	and    %ah,%ch
542075:	ff 33                	push   (%ebx)
542077:	c0 5a 59 59          	rcrb   $0x59,0x59(%edx)
54207b:	64 89 10             	mov    %edx,%fs:(%eax)
54207e:	68 98 20 54 00       	push   $0x542098
542083:	8d 45 84             	lea    -0x7c(%ebp),%eax
542086:	ba 02 00 00 00       	mov    $0x2,%edx
54208b:	e8 fc 27 ec ff       	call   0x40488c
542090:	c3                   	ret
542091:	e9 76 21 ec ff       	jmp    0x40420c
542096:	eb eb                	jmp    0x542083
542098:	5f                   	pop    %edi
542099:	5e                   	pop    %esi
54209a:	5b                   	pop    %ebx
54209b:	8b e5                	mov    %ebp,%esp
54209d:	5d                   	pop    %ebp
54209e:	c2 10 00             	ret    $0x10
5420a1:	00 00                	add    %al,(%eax)
5420a3:	00 31                	add    %dh,(%ecx)
5420a5:	2e 32 2e             	xor    %cs:(%esi),%ch
5420a8:	35 00 00 00 00       	xor    $0x0,%eax
5420ad:	00 c8                	add    %cl,%al
5420af:	42                   	inc    %edx
5420b0:	5c                   	pop    %esp
5420b1:	8f c2                	pop    %edx
5420b3:	f5                   	cmc
5420b4:	28 5c 8f a2          	sub    %bl,-0x5e(%edi,%ecx,4)
5420b8:	00 40 00             	add    %al,0x0(%eax)
5420bb:	00 53 56             	add    %dl,0x56(%ebx)
5420be:	83 c4 f8             	add    $0xfffffff8,%esp
5420c1:	8b f0                	mov    %eax,%esi
5420c3:	8b d4                	mov    %esp,%edx
5420c5:	b9 08 00 00 00       	mov    $0x8,%ecx
5420ca:	8b c6                	mov    %esi,%eax
5420cc:	8b 18                	mov    (%eax),%ebx
5420ce:	ff 53 08             	call   *0x8(%ebx)
5420d1:	8b c4                	mov    %esp,%eax
5420d3:	b9 04 00 00 00       	mov    $0x4,%ecx
5420d8:	33 d2                	xor    %edx,%edx
5420da:	e8 f5 ca 00 00       	call   0x54ebd4
5420df:	85 c0                	test   %eax,%eax
5420e1:	0f 94 c3             	sete   %bl
5420e4:	66 b9 01 00          	mov    $0x1,%cx
5420e8:	ba f8 ff ff ff       	mov    $0xfffffff8,%edx
5420ed:	8b c6                	mov    %esi,%eax
5420ef:	8b 30                	mov    (%eax),%esi
5420f1:	ff 56 10             	call   *0x10(%esi)
5420f4:	8b c3                	mov    %ebx,%eax
5420f6:	59                   	pop    %ecx
5420f7:	5a                   	pop    %edx
5420f8:	5e                   	pop    %esi
5420f9:	5b                   	pop    %ebx
5420fa:	c3                   	ret
5420fb:	90                   	nop
5420fc:	55                   	push   %ebp
5420fd:	8b ec                	mov    %esp,%ebp
5420ff:	53                   	push   %ebx
542100:	8b 5d 08             	mov    0x8(%ebp),%ebx
542103:	53                   	push   %ebx
542104:	6a 00                	push   $0x0
542106:	6a 00                	push   $0x0
542108:	6a 00                	push   $0x0
54210a:	e8 05 00 00 00       	call   0x542114
54210f:	5b                   	pop    %ebx
542110:	5d                   	pop    %ebp
542111:	c2 04 00             	ret    $0x4
542114:	55                   	push   %ebp
542115:	8b ec                	mov    %esp,%ebp
542117:	83 c4 f8             	add    $0xfffffff8,%esp
54211a:	53                   	push   %ebx
54211b:	56                   	push   %esi
54211c:	57                   	push   %edi
54211d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
542120:	89 55 fc             	mov    %edx,-0x4(%ebp)
542123:	8b f0                	mov    %eax,%esi
542125:	8b 7d 10             	mov    0x10(%ebp),%edi
542128:	8b cf                	mov    %edi,%ecx
54212a:	8b 55 0c             	mov    0xc(%ebp),%edx
54212d:	b8 01 00 00 00       	mov    $0x1,%eax
542132:	e8 81 8b 00 00       	call   0x54acb8
542137:	8b d8                	mov    %eax,%ebx
542139:	85 db                	test   %ebx,%ebx
54213b:	75 07                	jne    0x542144
54213d:	33 c0                	xor    %eax,%eax
54213f:	e9 21 01 00 00       	jmp    0x542265