420e5b:	8b cf                	mov    %edi,%ecx
420e5d:	8d 51 02             	lea    0x2(%ecx),%edx
420e60:	66 8b 01             	mov    (%ecx),%ax
420e63:	83 c1 02             	add    $0x2,%ecx
420e66:	66 3b c3             	cmp    %bx,%ax
420e69:	75 f5                	jne    0x420e60
420e6b:	e9 79 ff ff ff       	jmp    0x420de9
420e70:	8b 46 58             	mov    0x58(%esi),%eax
420e73:	b9 00 03 00 00       	mov    $0x300,%ecx
420e78:	23 c1                	and    %ecx,%eax
420e7a:	3b c1                	cmp    %ecx,%eax
420e7c:	0f 84 5c 01 00 00    	je     0x420fde
420e82:	8b 4e 60             	mov    0x60(%esi),%ecx
420e85:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420e8b:	f7 d9                	neg    %ecx
420e8d:	6a 40                	push   $0x40
420e8f:	1b c9                	sbb    %ecx,%ecx
420e91:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
420e97:	50                   	push   %eax
420e98:	81 c1 01 10 00 00    	add    $0x1001,%ecx
420e9e:	51                   	push   %ecx
420e9f:	57                   	push   %edi
420ea0:	e8 10 82 ff ff       	call   0x4190b5
420ea5:	85 c0                	test   %eax,%eax
420ea7:	75 0b                	jne    0x420eb4
420ea9:	89 5e 58             	mov    %ebx,0x58(%esi)
420eac:	33 c0                	xor    %eax,%eax
420eae:	40                   	inc    %eax
420eaf:	e9 35 01 00 00       	jmp    0x420fe9
420eb4:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
420eba:	50                   	push   %eax
420ebb:	ff 76 50             	push   0x50(%esi)
420ebe:	e8 f9 d7 ff ff       	call   0x41e6bc
420ec3:	59                   	pop    %ecx
420ec4:	59                   	pop    %ecx
420ec5:	85 c0                	test   %eax,%eax
420ec7:	0f 85 11 01 00 00    	jne    0x420fde
420ecd:	81 4e 58 00 02 00 00 	orl    $0x200,0x58(%esi)
420ed4:	8b 56 58             	mov    0x58(%esi),%edx
420ed7:	39 5e 60             	cmp    %ebx,0x60(%esi)
420eda:	74 54                	je     0x420f30
420edc:	81 ca 00 01 00 00    	or     $0x100,%edx
420ee2:	89 56 58             	mov    %edx,0x58(%esi)
420ee5:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
420eeb:	66 39 1a             	cmp    %bx,(%edx)
420eee:	0f 85 ea 00 00 00    	jne    0x420fde
420ef4:	8b cf                	mov    %edi,%ecx
420ef6:	8d 59 02             	lea    0x2(%ecx),%ebx
420ef9:	66 8b 01             	mov    (%ecx),%ax
420efc:	83 c1 02             	add    $0x2,%ecx
420eff:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
420f06:	75 f1                	jne    0x420ef9
420f08:	2b cb                	sub    %ebx,%ecx
420f0a:	d1 f9                	sar    $1,%ecx
420f0c:	8d 41 01             	lea    0x1(%ecx),%eax
420f0f:	50                   	push   %eax
420f10:	57                   	push   %edi
420f11:	6a 55                	push   $0x55
420f13:	52                   	push   %edx
420f14:	e8 04 ea ff ff       	call   0x41f91d
420f19:	83 c4 10             	add    $0x10,%esp
420f1c:	85 c0                	test   %eax,%eax
420f1e:	0f 84 ba 00 00 00    	je     0x420fde
420f24:	33 c0                	xor    %eax,%eax
420f26:	50                   	push   %eax
420f27:	50                   	push   %eax
420f28:	50                   	push   %eax
420f29:	50                   	push   %eax
420f2a:	50                   	push   %eax
420f2b:	e9 d1 00 00 00       	jmp    0x421001
420f30:	39 5e 5c             	cmp    %ebx,0x5c(%esi)
420f33:	74 7c                	je     0x420fb1
420f35:	8b 4e 50             	mov    0x50(%esi),%ecx
420f38:	8d 59 02             	lea    0x2(%ecx),%ebx
420f3b:	66 8b 01             	mov    (%ecx),%ax
420f3e:	83 c1 02             	add    $0x2,%ecx
420f41:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
420f48:	75 f1                	jne    0x420f3b
420f4a:	2b cb                	sub    %ebx,%ecx
420f4c:	d1 f9                	sar    $1,%ecx
420f4e:	3b 4e 5c             	cmp    0x5c(%esi),%ecx
420f51:	75 5c                	jne    0x420faf
420f53:	57                   	push   %edi
420f54:	e8 56 02 00 00       	call   0x4211af
420f59:	59                   	pop    %ecx
420f5a:	85 c0                	test   %eax,%eax
420f5c:	75 24                	jne    0x420f82
420f5e:	8b 5e 50             	mov    0x50(%esi),%ebx
420f61:	33 d2                	xor    %edx,%edx
420f63:	8d 4b 02             	lea    0x2(%ebx),%ecx
420f66:	66 8b 03             	mov    (%ebx),%ax
420f69:	83 c3 02             	add    $0x2,%ebx
420f6c:	66 3b c2             	cmp    %dx,%ax
420f6f:	75 f5                	jne    0x420f66
420f71:	ff 76 50             	push   0x50(%esi)
420f74:	2b d9                	sub    %ecx,%ebx
420f76:	d1 fb                	sar    $1,%ebx
420f78:	e8 6c fd ff ff       	call   0x420ce9
420f7d:	59                   	pop    %ecx
420f7e:	3b c3                	cmp    %ebx,%eax
420f80:	74 5c                	je     0x420fde
420f82:	81 4e 58 00 01 00 00 	orl    $0x100,0x58(%esi)
420f89:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
420f8f:	33 c0                	xor    %eax,%eax
420f91:	66 39 02             	cmp    %ax,(%edx)
420f94:	75 48                	jne    0x420fde
420f96:	8b cf                	mov    %edi,%ecx
420f98:	8d 59 02             	lea    0x2(%ecx),%ebx
420f9b:	66 8b 01             	mov    (%ecx),%ax
420f9e:	83 c1 02             	add    $0x2,%ecx
420fa1:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
420fa8:	75 f1                	jne    0x420f9b
420faa:	e9 59 ff ff ff       	jmp    0x420f08
420faf:	33 db                	xor    %ebx,%ebx
420fb1:	81 ca 00 01 00 00    	or     $0x100,%edx
420fb7:	89 56 58             	mov    %edx,0x58(%esi)
420fba:	8d 96 a0 02 00 00    	lea    0x2a0(%esi),%edx
420fc0:	66 39 1a             	cmp    %bx,(%edx)
420fc3:	75 19                	jne    0x420fde
420fc5:	8b cf                	mov    %edi,%ecx
420fc7:	8d 59 02             	lea    0x2(%ecx),%ebx
420fca:	66 8b 01             	mov    (%ecx),%ax
420fcd:	83 c1 02             	add    $0x2,%ecx
420fd0:	66 3b 85 78 ff ff ff 	cmp    -0x88(%ebp),%ax
420fd7:	75 f1                	jne    0x420fca
420fd9:	e9 2a ff ff ff       	jmp    0x420f08
420fde:	8b 46 58             	mov    0x58(%esi),%eax
420fe1:	c1 e8 02             	shr    $0x2,%eax
420fe4:	f7 d0                	not    %eax
420fe6:	83 e0 01             	and    $0x1,%eax
420fe9:	5b                   	pop    %ebx
420fea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
420fed:	5f                   	pop    %edi
420fee:	33 cd                	xor    %ebp,%ecx
420ff0:	5e                   	pop    %esi
420ff1:	e8 6a 60 fe ff       	call   0x407060
420ff6:	8b e5                	mov    %ebp,%esp
420ff8:	5d                   	pop    %ebp
420ff9:	c2 0c 00             	ret    $0xc
420ffc:	53                   	push   %ebx
420ffd:	53                   	push   %ebx
420ffe:	53                   	push   %ebx
420fff:	53                   	push   %ebx
421000:	53                   	push   %ebx
421001:	e8 09 ad fe ff       	call   0x40bd0f
421006:	cc                   	int3
421007:	8b ff                	mov    %edi,%edi
421009:	55                   	push   %ebp
42100a:	8b ec                	mov    %esp,%ebp
42100c:	81 ec f4 00 00 00    	sub    $0xf4,%esp
421012:	a1 28 ba 43 00       	mov    0x43ba28,%eax
421017:	33 c5                	xor    %ebp,%eax
421019:	89 45 fc             	mov    %eax,-0x4(%ebp)
42101c:	56                   	push   %esi
42101d:	57                   	push   %edi
42101e:	8b 7d 08             	mov    0x8(%ebp),%edi
421021:	e8 36 7b ff ff       	call   0x418b5c
421026:	8b f0                	mov    %eax,%esi
421028:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42102e:	6a 78                	push   $0x78
421030:	50                   	push   %eax
421031:	8b 4e 60             	mov    0x60(%esi),%ecx
421034:	f7 d9                	neg    %ecx
421036:	1b c9                	sbb    %ecx,%ecx
421038:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
42103e:	81 c1 01 10 00 00    	add    $0x1001,%ecx
421044:	51                   	push   %ecx
421045:	57                   	push   %edi
421046:	e8 6a 80 ff ff       	call   0x4190b5
42104b:	85 c0                	test   %eax,%eax
42104d:	75 06                	jne    0x421055
42104f:	21 46 58             	and    %eax,0x58(%esi)
421052:	40                   	inc    %eax
421053:	eb 56                	jmp    0x4210ab
421055:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
42105b:	50                   	push   %eax
42105c:	ff 76 50             	push   0x50(%esi)
42105f:	e8 58 d6 ff ff       	call   0x41e6bc
421064:	59                   	pop    %ecx
421065:	59                   	pop    %ecx
421066:	85 c0                	test   %eax,%eax
421068:	75 36                	jne    0x4210a0
42106a:	8b cf                	mov    %edi,%ecx
42106c:	53                   	push   %ebx
42106d:	33 db                	xor    %ebx,%ebx
42106f:	8d 51 02             	lea    0x2(%ecx),%edx
421072:	66 8b 01             	mov    (%ecx),%ax
421075:	83 c1 02             	add    $0x2,%ecx
421078:	66 3b c3             	cmp    %bx,%ax
42107b:	75 f5                	jne    0x421072
42107d:	2b ca                	sub    %edx,%ecx
42107f:	d1 f9                	sar    $1,%ecx
421081:	8d 41 01             	lea    0x1(%ecx),%eax
421084:	50                   	push   %eax
421085:	57                   	push   %edi
421086:	8d 86 a0 02 00 00    	lea    0x2a0(%esi),%eax
42108c:	6a 55                	push   $0x55
42108e:	50                   	push   %eax
42108f:	e8 89 e8 ff ff       	call   0x41f91d
421094:	83 c4 10             	add    $0x10,%esp
421097:	85 c0                	test   %eax,%eax
421099:	75 22                	jne    0x4210bd
42109b:	83 4e 58 04          	orl    $0x4,0x58(%esi)
42109f:	5b                   	pop    %ebx
4210a0:	8b 46 58             	mov    0x58(%esi),%eax
4210a3:	c1 e8 02             	shr    $0x2,%eax
4210a6:	f7 d0                	not    %eax
4210a8:	83 e0 01             	and    $0x1,%eax
4210ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4210ae:	5f                   	pop    %edi
4210af:	33 cd                	xor    %ebp,%ecx
4210b1:	5e                   	pop    %esi
4210b2:	e8 a9 5f fe ff       	call   0x407060
4210b7:	8b e5                	mov    %ebp,%esp
4210b9:	5d                   	pop    %ebp
4210ba:	c2 0c 00             	ret    $0xc
4210bd:	53                   	push   %ebx
4210be:	53                   	push   %ebx
4210bf:	53                   	push   %ebx
4210c0:	53                   	push   %ebx
4210c1:	53                   	push   %ebx
4210c2:	e8 48 ac fe ff       	call   0x40bd0f
4210c7:	cc                   	int3
4210c8:	8b ff                	mov    %edi,%edi
4210ca:	55                   	push   %ebp
4210cb:	8b ec                	mov    %esp,%ebp
4210cd:	51                   	push   %ecx
4210ce:	8b 4d 08             	mov    0x8(%ebp),%ecx
4210d1:	56                   	push   %esi
4210d2:	57                   	push   %edi
4210d3:	85 c9                	test   %ecx,%ecx
4210d5:	0f 84 a0 00 00 00    	je     0x42117b
4210db:	33 c0                	xor    %eax,%eax
4210dd:	66 39 01             	cmp    %ax,(%ecx)
4210e0:	0f 84 95 00 00 00    	je     0x42117b
4210e6:	be b8 e6 42 00       	mov    $0x42e6b8,%esi
4210eb:	8b d1                	mov    %ecx,%edx
4210ed:	66 8b 3a             	mov    (%edx),%di
4210f0:	66 3b 3e             	cmp    (%esi),%di
4210f3:	75 1e                	jne    0x421113
4210f5:	66 85 ff             	test   %di,%di
4210f8:	74 15                	je     0x42110f
4210fa:	66 8b 7a 02          	mov    0x2(%edx),%di
4210fe:	66 3b 7e 02          	cmp    0x2(%esi),%di
421102:	75 0f                	jne    0x421113
421104:	83 c2 04             	add    $0x4,%edx
421107:	83 c6 04             	add    $0x4,%esi
42110a:	66 85 ff             	test   %di,%di
42110d:	75 de                	jne    0x4210ed
42110f:	8b d0                	mov    %eax,%edx
421111:	eb 05                	jmp    0x421118
421113:	1b d2                	sbb    %edx,%edx
421115:	83 ca 01             	or     $0x1,%edx
421118:	85 d2                	test   %edx,%edx
42111a:	74 5f                	je     0x42117b
42111c:	be c0 e6 42 00       	mov    $0x42e6c0,%esi
421121:	8b d1                	mov    %ecx,%edx
421123:	66 8b 3a             	mov    (%edx),%di
421126:	66 3b 3e             	cmp    (%esi),%di
421129:	75 1c                	jne    0x421147
42112b:	66 85 ff             	test   %di,%di
42112e:	74 1c                	je     0x42114c
421130:	66 8b 7a 02          	mov    0x2(%edx),%di
421134:	66 3b 7e 02          	cmp    0x2(%esi),%di
421138:	75 0d                	jne    0x421147
42113a:	83 c2 04             	add    $0x4,%edx
42113d:	83 c6 04             	add    $0x4,%esi
421140:	66 85 ff             	test   %di,%di
421143:	75 de                	jne    0x421123
421145:	eb 05                	jmp    0x42114c
421147:	1b c0                	sbb    %eax,%eax
421149:	83 c8 01             	or     $0x1,%eax
42114c:	85 c0                	test   %eax,%eax
42114e:	75 22                	jne    0x421172
421150:	6a 02                	push   $0x2
421152:	8d 45 fc             	lea    -0x4(%ebp),%eax
421155:	50                   	push   %eax
421156:	8b 45 0c             	mov    0xc(%ebp),%eax
421159:	68 0b 00 00 20       	push   $0x2000000b
42115e:	05 50 02 00 00       	add    $0x250,%eax
421163:	50                   	push   %eax
421164:	e8 4c 7f ff ff       	call   0x4190b5
421169:	85 c0                	test   %eax,%eax
42116b:	74 2b                	je     0x421198
42116d:	8b 45 fc             	mov    -0x4(%ebp),%eax
421170:	eb 37                	jmp    0x4211a9
421172:	51                   	push   %ecx
421173:	e8 48 76 ff ff       	call   0x4187c0
421178:	59                   	pop    %ecx
421179:	eb 2e                	jmp    0x4211a9
42117b:	6a 02                	push   $0x2
42117d:	8d 45 fc             	lea    -0x4(%ebp),%eax
421180:	50                   	push   %eax
421181:	8b 45 0c             	mov    0xc(%ebp),%eax
421184:	68 04 10 00 20       	push   $0x20001004
421189:	05 50 02 00 00       	add    $0x250,%eax
42118e:	50                   	push   %eax
42118f:	e8 21 7f ff ff       	call   0x4190b5
421194:	85 c0                	test   %eax,%eax
421196:	75 04                	jne    0x42119c
421198:	33 c0                	xor    %eax,%eax
42119a:	eb 0d                	jmp    0x4211a9
42119c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42119f:	85 c0                	test   %eax,%eax
4211a1:	75 06                	jne    0x4211a9
4211a3:	ff 15 ec 71 42 00    	call   *0x4271ec
4211a9:	5f                   	pop    %edi
4211aa:	5e                   	pop    %esi
4211ab:	8b e5                	mov    %ebp,%esp
4211ad:	5d                   	pop    %ebp
4211ae:	c3                   	ret
4211af:	8b ff                	mov    %edi,%edi
4211b1:	55                   	push   %ebp
4211b2:	8b ec                	mov    %esp,%ebp
4211b4:	83 ec 18             	sub    $0x18,%esp
4211b7:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4211bc:	33 c5                	xor    %ebp,%eax
4211be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4211c1:	56                   	push   %esi
4211c2:	8b 75 08             	mov    0x8(%ebp),%esi
4211c5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4211c8:	6a 09                	push   $0x9
4211ca:	50                   	push   %eax
4211cb:	6a 59                	push   $0x59
4211cd:	56                   	push   %esi
4211ce:	e8 e2 7e ff ff       	call   0x4190b5
4211d3:	85 c0                	test   %eax,%eax
4211d5:	74 14                	je     0x4211eb
4211d7:	6a 09                	push   $0x9
4211d9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4211dc:	56                   	push   %esi
4211dd:	50                   	push   %eax
4211de:	e8 78 f5 ff ff       	call   0x42075b
4211e3:	83 c4 0c             	add    $0xc,%esp
4211e6:	f7 d8                	neg    %eax
4211e8:	1b c0                	sbb    %eax,%eax
4211ea:	40                   	inc    %eax
4211eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4211ee:	33 cd                	xor    %ebp,%ecx
4211f0:	5e                   	pop    %esi
4211f1:	e8 6a 5e fe ff       	call   0x407060
4211f6:	8b e5                	mov    %ebp,%esp
4211f8:	5d                   	pop    %ebp
4211f9:	c3                   	ret
4211fa:	8b ff                	mov    %edi,%edi
4211fc:	55                   	push   %ebp
4211fd:	8b ec                	mov    %esp,%ebp
4211ff:	51                   	push   %ecx
421200:	56                   	push   %esi
421201:	8b 75 0c             	mov    0xc(%ebp),%esi