534d6f:	74 48                	je     0x534db9
534d71:	51                   	push   %ecx
534d72:	e8 19 8f 00 00       	call   0x53dc90
534d77:	83 c4 04             	add    $0x4,%esp
534d7a:	8b f8                	mov    %eax,%edi
534d7c:	33 db                	xor    %ebx,%ebx
534d7e:	66 90                	xchg   %ax,%ax
534d80:	83 fb 06             	cmp    $0x6,%ebx
534d83:	74 34                	je     0x534db9
534d85:	8b 0c 9d 3c 31 6b 00 	mov    0x6b313c(,%ebx,4),%ecx
534d8c:	85 c9                	test   %ecx,%ecx
534d8e:	74 29                	je     0x534db9
534d90:	57                   	push   %edi
534d91:	51                   	push   %ecx
534d92:	ff 75 b8             	push   -0x48(%ebp)
534d95:	e8 c6 ad fa ff       	call   0x4dfb60
534d9a:	83 c4 0c             	add    $0xc,%esp
534d9d:	85 c0                	test   %eax,%eax
534d9f:	74 03                	je     0x534da4
534da1:	43                   	inc    %ebx
534da2:	eb dc                	jmp    0x534d80
534da4:	83 fb 02             	cmp    $0x2,%ebx
534da7:	75 2c                	jne    0x534dd5
534da9:	8b 45 d8             	mov    -0x28(%ebp),%eax
534dac:	8b 40 20             	mov    0x20(%eax),%eax
534daf:	25 00 00 00 10       	and    $0x10000000,%eax
534db4:	83 c8 00             	or     $0x0,%eax
534db7:	74 21                	je     0x534dda
534db9:	83 cb ff             	or     $0xffffffff,%ebx
534dbc:	8b 55 c0             	mov    -0x40(%ebp),%edx
534dbf:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
534dc3:	75 18                	jne    0x534ddd
534dc5:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
534dcc:	c7 42 04 01 00 00 00 	movl   $0x1,0x4(%edx)
534dd3:	eb 08                	jmp    0x534ddd
534dd5:	83 fb ff             	cmp    $0xffffffff,%ebx
534dd8:	74 e2                	je     0x534dbc
534dda:	8b 55 c0             	mov    -0x40(%ebp),%edx
534ddd:	8b 45 d8             	mov    -0x28(%ebp),%eax
534de0:	8b 78 14             	mov    0x14(%eax),%edi
534de3:	83 ef 01             	sub    $0x1,%edi
534de6:	78 47                	js     0x534e2f
534de8:	8b cf                	mov    %edi,%ecx
534dea:	c1 e1 04             	shl    $0x4,%ecx
534ded:	89 4d d0             	mov    %ecx,-0x30(%ebp)
534df0:	8b 40 10             	mov    0x10(%eax),%eax
534df3:	83 7c 01 04 00       	cmpl   $0x0,0x4(%ecx,%eax,1)
534df8:	74 24                	je     0x534e1e
534dfa:	3b 7d c4             	cmp    -0x3c(%ebp),%edi
534dfd:	74 06                	je     0x534e05
534dff:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
534e03:	75 19                	jne    0x534e1e
534e05:	57                   	push   %edi
534e06:	56                   	push   %esi
534e07:	e8 e4 8c 01 00       	call   0x54daf0
534e0c:	53                   	push   %ebx
534e0d:	6a 01                	push   $0x1
534e0f:	57                   	push   %edi
534e10:	6a 07                	push   $0x7
534e12:	56                   	push   %esi
534e13:	e8 28 cd 00 00       	call   0x541b40
534e18:	8b 4d d0             	mov    -0x30(%ebp),%ecx
534e1b:	83 c4 1c             	add    $0x1c,%esp
534e1e:	8b 55 c0             	mov    -0x40(%ebp),%edx
534e21:	83 e9 10             	sub    $0x10,%ecx
534e24:	83 ef 01             	sub    $0x1,%edi
534e27:	8b 45 d8             	mov    -0x28(%ebp),%eax
534e2a:	89 4d d0             	mov    %ecx,-0x30(%ebp)
534e2d:	79 c1                	jns    0x534df0
534e2f:	6a 01                	push   $0x1
534e31:	6a 01                	push   $0x1
534e33:	6a 50                	push   $0x50
534e35:	56                   	push   %esi
534e36:	e8 a5 cc 00 00       	call   0x541ae0
534e3b:	83 c4 10             	add    $0x10,%esp
534e3e:	e9 ea 1e 00 00       	jmp    0x536d2d
534e43:	8b 47 04             	mov    0x4(%edi),%eax
534e46:	83 c9 ff             	or     $0xffffffff,%ecx
534e49:	8b 55 b8             	mov    -0x48(%ebp),%edx
534e4c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
534e4f:	8b 40 04             	mov    0x4(%eax),%eax
534e52:	8b 38                	mov    (%eax),%edi
534e54:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
534e59:	89 45 e0             	mov    %eax,-0x20(%ebp)
534e5c:	85 d2                	test   %edx,%edx
534e5e:	74 29                	je     0x534e89
534e60:	8d 45 e0             	lea    -0x20(%ebp),%eax
534e63:	50                   	push   %eax
534e64:	52                   	push   %edx
534e65:	e8 f6 c8 fe ff       	call   0x521760
534e6a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
534e6d:	83 c4 08             	add    $0x8,%esp
534e70:	83 f9 ff             	cmp    $0xffffffff,%ecx
534e73:	7f 11                	jg     0x534e86
534e75:	7c 08                	jl     0x534e7f
534e77:	8b 45 e0             	mov    -0x20(%ebp),%eax
534e7a:	83 f8 ff             	cmp    $0xffffffff,%eax
534e7d:	73 0a                	jae    0x534e89
534e7f:	83 c8 ff             	or     $0xffffffff,%eax
534e82:	0b c8                	or     %eax,%ecx
534e84:	eb 03                	jmp    0x534e89
534e86:	8b 45 e0             	mov    -0x20(%ebp),%eax
534e89:	51                   	push   %ecx
534e8a:	50                   	push   %eax
534e8b:	57                   	push   %edi
534e8c:	e8 3f d9 ff ff       	call   0x5327d0
534e91:	52                   	push   %edx
534e92:	50                   	push   %eax
534e93:	56                   	push   %esi
534e94:	e8 77 fd fd ff       	call   0x514c10
534e99:	83 c4 18             	add    $0x18,%esp
534e9c:	e9 8c 1e 00 00       	jmp    0x536d2d
534ea1:	8b 7f 04             	mov    0x4(%edi),%edi
534ea4:	85 c9                	test   %ecx,%ecx
534ea6:	75 17                	jne    0x534ebf
534ea8:	57                   	push   %edi
534ea9:	e8 a2 6b fe ff       	call   0x51ba50
534eae:	99                   	cltd
534eaf:	52                   	push   %edx
534eb0:	50                   	push   %eax
534eb1:	56                   	push   %esi
534eb2:	e8 59 fd fd ff       	call   0x514c10
534eb7:	83 c4 10             	add    $0x10,%esp
534eba:	e9 6e 1e 00 00       	jmp    0x536d2d
534ebf:	51                   	push   %ecx
534ec0:	e8 6b 0c fd ff       	call   0x505b30
534ec5:	8b d8                	mov    %eax,%ebx
534ec7:	8b 45 d8             	mov    -0x28(%ebp),%eax
534eca:	53                   	push   %ebx
534ecb:	57                   	push   %edi
534ecc:	88 58 54             	mov    %bl,0x54(%eax)
534ecf:	e8 ec 8a fe ff       	call   0x51d9c0
534ed4:	83 c4 0c             	add    $0xc,%esp
534ed7:	85 c0                	test   %eax,%eax
534ed9:	0f 85 4e 1e 00 00    	jne    0x536d2d
534edf:	83 fb 01             	cmp    $0x1,%ebx
534ee2:	74 09                	je     0x534eed
534ee4:	83 fb 02             	cmp    $0x2,%ebx
534ee7:	0f 85 40 1e 00 00    	jne    0x536d2d
534eed:	8b 7e 6c             	mov    0x6c(%esi),%edi
534ef0:	6a 00                	push   $0x0
534ef2:	68 9c 26 6b 00       	push   $0x6b269c
534ef7:	6a 05                	push   $0x5
534ef9:	56                   	push   %esi
534efa:	e8 a1 cd 00 00       	call   0x541ca0
534eff:	8b 55 c4             	mov    -0x3c(%ebp),%edx
534f02:	8d 4f 04             	lea    0x4(%edi),%ecx
534f05:	52                   	push   %edx
534f06:	56                   	push   %esi
534f07:	89 48 30             	mov    %ecx,0x30(%eax)
534f0a:	8d 4b ff             	lea    -0x1(%ebx),%ecx
534f0d:	89 50 04             	mov    %edx,0x4(%eax)
534f10:	89 50 18             	mov    %edx,0x18(%eax)
534f13:	89 50 54             	mov    %edx,0x54(%eax)
534f16:	89 48 5c             	mov    %ecx,0x5c(%eax)
534f19:	e8 d2 8b 01 00       	call   0x54daf0
534f1e:	83 c4 18             	add    $0x18,%esp
534f21:	e9 07 1e 00 00       	jmp    0x536d2d
534f26:	85 c9                	test   %ecx,%ecx
534f28:	74 18                	je     0x534f42
534f2a:	8d 45 e8             	lea    -0x18(%ebp),%eax
534f2d:	50                   	push   %eax
534f2e:	51                   	push   %ecx
534f2f:	e8 6c 7e ff ff       	call   0x52cda0
534f34:	83 c4 08             	add    $0x8,%esp
534f37:	85 c0                	test   %eax,%eax
534f39:	74 07                	je     0x534f42
534f3b:	8b 7d e8             	mov    -0x18(%ebp),%edi
534f3e:	85 ff                	test   %edi,%edi
534f40:	7f 05                	jg     0x534f47
534f42:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
534f47:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
534f4a:	53                   	push   %ebx
534f4b:	6a 00                	push   $0x0
534f4d:	ff 75 d4             	push   -0x2c(%ebp)
534f50:	e8 fb 52 fe ff       	call   0x51a250
534f55:	6a 01                	push   $0x1
534f57:	57                   	push   %edi
534f58:	6a 45                	push   $0x45
534f5a:	56                   	push   %esi
534f5b:	e8 80 cb 00 00       	call   0x541ae0
534f60:	53                   	push   %ebx
534f61:	6a 3c                	push   $0x3c
534f63:	56                   	push   %esi
534f64:	e8 17 cb 00 00       	call   0x541a80
534f69:	6a 01                	push   $0x1
534f6b:	6a 50                	push   $0x50
534f6d:	56                   	push   %esi
534f6e:	8b f8                	mov    %eax,%edi
534f70:	e8 0b cb 00 00       	call   0x541a80
534f75:	6a ff                	push   $0xffffffff
534f77:	6a 01                	push   $0x1
534f79:	6a 52                	push   $0x52
534f7b:	56                   	push   %esi
534f7c:	e8 5f cb 00 00       	call   0x541ae0
534f81:	83 c4 44             	add    $0x44,%esp
534f84:	57                   	push   %edi
534f85:	6a 01                	push   $0x1
534f87:	6a 30                	push   $0x30
534f89:	56                   	push   %esi
534f8a:	e8 51 cb 00 00       	call   0x541ae0
534f8f:	57                   	push   %edi
534f90:	56                   	push   %esi
534f91:	e8 ca 57 01 00       	call   0x54a760
534f96:	83 c4 18             	add    $0x18,%esp
534f99:	e9 8f 1d 00 00       	jmp    0x536d2d
534f9e:	85 c9                	test   %ecx,%ecx
534fa0:	75 0b                	jne    0x534fad
534fa2:	8b 47 0c             	mov    0xc(%edi),%eax
534fa5:	8b 40 50             	mov    0x50(%eax),%eax
534fa8:	e9 74 1d 00 00       	jmp    0x536d21
534fad:	51                   	push   %ecx
534fae:	e8 5d 45 fe ff       	call   0x519510
534fb3:	8b 4f 0c             	mov    0xc(%edi),%ecx
534fb6:	89 41 50             	mov    %eax,0x50(%ecx)
534fb9:	8b 47 0c             	mov    0xc(%edi),%eax
534fbc:	ff 70 50             	push   0x50(%eax)
534fbf:	ff 77 04             	push   0x4(%edi)
534fc2:	e8 79 8a fe ff       	call   0x51da40
534fc7:	e9 5e 1d 00 00       	jmp    0x536d2a
534fcc:	85 c9                	test   %ecx,%ecx
534fce:	75 26                	jne    0x534ff6
534fd0:	8b 45 d8             	mov    -0x28(%ebp),%eax
534fd3:	8b 40 20             	mov    0x20(%eax),%eax
534fd6:	83 e0 20             	and    $0x20,%eax
534fd9:	0b c1                	or     %ecx,%eax
534fdb:	75 07                	jne    0x534fe4
534fdd:	33 c0                	xor    %eax,%eax
534fdf:	e9 3d 1d 00 00       	jmp    0x536d21
534fe4:	6a 00                	push   $0x0
534fe6:	ff 77 04             	push   0x4(%edi)
534fe9:	e8 62 8c fe ff       	call   0x51dc50
534fee:	83 c4 08             	add    $0x8,%esp
534ff1:	e9 2b 1d 00 00       	jmp    0x536d21
534ff6:	8d 45 d0             	lea    -0x30(%ebp),%eax
534ff9:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
535000:	50                   	push   %eax
535001:	51                   	push   %ecx
535002:	e8 99 7d ff ff       	call   0x52cda0
535007:	8b 75 d0             	mov    -0x30(%ebp),%esi
53500a:	83 c4 08             	add    $0x8,%esp
53500d:	85 c0                	test   %eax,%eax
53500f:	74 0c                	je     0x53501d
535011:	56                   	push   %esi
535012:	ff 77 04             	push   0x4(%edi)
535015:	e8 36 8c fe ff       	call   0x51dc50
53501a:	83 c4 08             	add    $0x8,%esp
53501d:	85 f6                	test   %esi,%esi
53501f:	0f 95 c0             	setne  %al
535022:	0f b6 c0             	movzbl %al,%eax
535025:	50                   	push   %eax
535026:	ff 75 b8             	push   -0x48(%ebp)
535029:	e8 82 7c ff ff       	call   0x52ccb0
53502e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
535031:	83 c4 08             	add    $0x8,%esp
535034:	84 c0                	test   %al,%al
535036:	8b 41 24             	mov    0x24(%ecx),%eax
535039:	89 41 24             	mov    %eax,0x24(%ecx)
53503c:	74 12                	je     0x535050
53503e:	83 49 20 20          	orl    $0x20,0x20(%ecx)
535042:	51                   	push   %ecx
535043:	e8 68 1e fe ff       	call   0x516eb0
535048:	83 c4 04             	add    $0x4,%esp
53504b:	e9 dd 1c 00 00       	jmp    0x536d2d
535050:	83 61 20 df          	andl   $0xffffffdf,0x20(%ecx)
535054:	51                   	push   %ecx
535055:	e8 56 1e fe ff       	call   0x516eb0
53505a:	83 c4 04             	add    $0x4,%esp
53505d:	e9 cb 1c 00 00       	jmp    0x536d2d
535062:	85 c9                	test   %ecx,%ecx
535064:	0f 84 8a 00 00 00    	je     0x5350f4
53506a:	8d 45 e0             	lea    -0x20(%ebp),%eax
53506d:	50                   	push   %eax
53506e:	51                   	push   %ecx
53506f:	e8 ec c6 fe ff       	call   0x521760
535074:	8b 45 e4             	mov    -0x1c(%ebp),%eax
535077:	83 c4 08             	add    $0x8,%esp
53507a:	85 c0                	test   %eax,%eax
53507c:	7f 1c                	jg     0x53509a
53507e:	7c 07                	jl     0x535087
535080:	8b 55 e0             	mov    -0x20(%ebp),%edx
535083:	85 d2                	test   %edx,%edx
535085:	73 16                	jae    0x53509d
535087:	8b 15 b8 18 72 00    	mov    0x7218b8,%edx
53508d:	a1 bc 18 72 00       	mov    0x7218bc,%eax
535092:	89 55 e0             	mov    %edx,-0x20(%ebp)
535095:	89 45 e4             	mov    %eax,-0x1c(%ebp)
535098:	eb 03                	jmp    0x53509d
53509a:	8b 55 e0             	mov    -0x20(%ebp),%edx
53509d:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5350a0:	8b 7d d8             	mov    -0x28(%ebp),%edi
5350a3:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
5350a7:	75 06                	jne    0x5350af
5350a9:	89 57 30             	mov    %edx,0x30(%edi)
5350ac:	89 47 34             	mov    %eax,0x34(%edi)
5350af:	8b 7f 14             	mov    0x14(%edi),%edi
5350b2:	83 ef 01             	sub    $0x1,%edi
5350b5:	78 3d                	js     0x5350f4
5350b7:	8b 75 d8             	mov    -0x28(%ebp),%esi
5350ba:	8b df                	mov    %edi,%ebx
5350bc:	c1 e3 04             	shl    $0x4,%ebx
5350bf:	90                   	nop
5350c0:	8b 46 10             	mov    0x10(%esi),%eax
5350c3:	8b 44 03 04          	mov    0x4(%ebx,%eax,1),%eax
5350c7:	85 c0                	test   %eax,%eax
5350c9:	74 1e                	je     0x5350e9
5350cb:	3b 7d c4             	cmp    -0x3c(%ebp),%edi
5350ce:	74 06                	je     0x5350d6
5350d0:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
5350d4:	75 13                	jne    0x5350e9
5350d6:	ff 75 e4             	push   -0x1c(%ebp)
5350d9:	52                   	push   %edx
5350da:	50                   	push   %eax
5350db:	e8 f0 89 fe ff       	call   0x51dad0
5350e0:	8b 55 e0             	mov    -0x20(%ebp),%edx
5350e3:	83 c4 0c             	add    $0xc,%esp
5350e6:	8b 4d c0             	mov    -0x40(%ebp),%ecx
5350e9:	83 eb 10             	sub    $0x10,%ebx
5350ec:	83 ef 01             	sub    $0x1,%edi
5350ef:	79 cf                	jns    0x5350c0
5350f1:	8b 75 a4             	mov    -0x5c(%ebp),%esi
5350f4:	8d 45 e0             	lea    -0x20(%ebp),%eax
5350f7:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
5350fe:	50                   	push   %eax
5350ff:	6a 12                	push   $0x12
535101:	ff 75 ac             	push   -0x54(%ebp)
535104:	c7 45 e4 ff ff ff ff 	movl   $0xffffffff,-0x1c(%ebp)
53510b:	ff 75 d8             	push   -0x28(%ebp)
53510e:	e8 0d 7d fb ff       	call   0x4ece20
535113:	83 c4 10             	add    $0x10,%esp
535116:	85 c0                	test   %eax,%eax
535118:	75 0b                	jne    0x535125
53511a:	ff 75 e4             	push   -0x1c(%ebp)
53511d:	ff 75 e0             	push   -0x20(%ebp)
535120:	e9 ff 1b 00 00       	jmp    0x536d24
535125:	83 f8 0c             	cmp    $0xc,%eax
535128:	0f 84 ff 1b 00 00    	je     0x536d2d
53512e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
535131:	ff 41 24             	incl   0x24(%ecx)
535134:	89 41 0c             	mov    %eax,0xc(%ecx)
535137:	e9 f1 1b 00 00       	jmp    0x536d2d
53513c:	85 c9                	test   %ecx,%ecx
53513e:	75 0c                	jne    0x53514c
535140:	8b 45 d8             	mov    -0x28(%ebp),%eax
535143:	0f b6 40 50          	movzbl 0x50(%eax),%eax
535147:	e9 d5 1b 00 00       	jmp    0x536d21
53514c:	51                   	push   %ecx
53514d:	ff 75 d4             	push   -0x2c(%ebp)
535150:	e8 2b 2d fc ff       	call   0x4f7e80
535155:	83 c4 08             	add    $0x8,%esp