45dc8e:	c6 47 2c 01          	movb   $0x1,0x2c(%edi)
45dc92:	c6 47 44 01          	movb   $0x1,0x44(%edi)
45dc96:	8b c7                	mov    %edi,%eax
45dc98:	84 db                	test   %bl,%bl
45dc9a:	74 0f                	je     0x45dcab
45dc9c:	e8 db 59 fa ff       	call   0x40367c
45dca1:	64 8f 05 00 00 00 00 	pop    %fs:0x0
45dca8:	83 c4 0c             	add    $0xc,%esp
45dcab:	8b c7                	mov    %edi,%eax
45dcad:	5f                   	pop    %edi
45dcae:	5e                   	pop    %esi
45dcaf:	5b                   	pop    %ebx
45dcb0:	5d                   	pop    %ebp
45dcb1:	c2 04 00             	ret    $0x4
45dcb4:	8a 40 1f             	mov    0x1f(%eax),%al
45dcb7:	34 01                	xor    $0x1,%al
45dcb9:	c3                   	ret
45dcba:	8b c0                	mov    %eax,%eax
45dcbc:	53                   	push   %ebx
45dcbd:	56                   	push   %esi
45dcbe:	57                   	push   %edi
45dcbf:	8b f2                	mov    %edx,%esi
45dcc1:	8b d8                	mov    %eax,%ebx
45dcc3:	8b c6                	mov    %esi,%eax
45dcc5:	8b 15 88 b9 45 00    	mov    0x45b988,%edx
45dccb:	e8 7c 57 fa ff       	call   0x40344c
45dcd0:	84 c0                	test   %al,%al
45dcd2:	74 2a                	je     0x45dcfe
45dcd4:	8b fe                	mov    %esi,%edi
45dcd6:	8a 57 1c             	mov    0x1c(%edi),%dl
45dcd9:	8b c3                	mov    %ebx,%eax
45dcdb:	e8 a4 08 00 00       	call   0x45e584
45dce0:	8b 57 10             	mov    0x10(%edi),%edx
45dce3:	8b c3                	mov    %ebx,%eax
45dce5:	e8 7a 08 00 00       	call   0x45e564
45dcea:	8b 57 0c             	mov    0xc(%edi),%edx
45dced:	8b c3                	mov    %ebx,%eax
45dcef:	e8 20 07 00 00       	call   0x45e414
45dcf4:	66 8b 47 08          	mov    0x8(%edi),%ax
45dcf8:	66 89 43 08          	mov    %ax,0x8(%ebx)
45dcfc:	eb 09                	jmp    0x45dd07
45dcfe:	8b d6                	mov    %esi,%edx
45dd00:	8b c3                	mov    %ebx,%eax
45dd02:	e8 91 b0 fb ff       	call   0x418d98
45dd07:	5f                   	pop    %edi
45dd08:	5e                   	pop    %esi
45dd09:	5b                   	pop    %ebx
45dd0a:	c3                   	ret
45dd0b:	90                   	nop
45dd0c:	53                   	push   %ebx
45dd0d:	8b d8                	mov    %eax,%ebx
45dd0f:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45dd13:	75 2c                	jne    0x45dd41
45dd15:	8b c3                	mov    %ebx,%eax
45dd17:	e8 a8 01 00 00       	call   0x45dec4
45dd1c:	84 c0                	test   %al,%al
45dd1e:	74 21                	je     0x45dd41
45dd20:	8b 43 04             	mov    0x4(%ebx),%eax
45dd23:	e8 40 95 fe ff       	call   0x447268
45dd28:	84 c0                	test   %al,%al
45dd2a:	75 0b                	jne    0x45dd37
45dd2c:	33 d2                	xor    %edx,%edx
45dd2e:	8b c3                	mov    %ebx,%eax
45dd30:	e8 df 06 00 00       	call   0x45e414
45dd35:	eb 0a                	jmp    0x45dd41
45dd37:	8b 53 10             	mov    0x10(%ebx),%edx
45dd3a:	8b c3                	mov    %ebx,%eax
45dd3c:	e8 d3 06 00 00       	call   0x45e414
45dd41:	5b                   	pop    %ebx
45dd42:	c3                   	ret
45dd43:	90                   	nop
45dd44:	55                   	push   %ebp
45dd45:	8b ec                	mov    %esp,%ebp
45dd47:	53                   	push   %ebx
45dd48:	8b d8                	mov    %eax,%ebx
45dd4a:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
45dd4e:	74 54                	je     0x45dda4
45dd50:	8a 43 5b             	mov    0x5b(%ebx),%al
45dd53:	2c 01                	sub    $0x1,%al
45dd55:	72 0a                	jb     0x45dd61
45dd57:	2c 02                	sub    $0x2,%al
45dd59:	74 06                	je     0x45dd61
45dd5b:	fe c8                	dec    %al
45dd5d:	74 3c                	je     0x45dd9b
45dd5f:	eb 43                	jmp    0x45dda4
45dd61:	80 7b 5b 03          	cmpb   $0x3,0x5b(%ebx)
45dd65:	74 12                	je     0x45dd79
45dd67:	a0 a8 dd 45 00       	mov    0x45dda8,%al
45dd6c:	22 43 61             	and    0x61(%ebx),%al
45dd6f:	8a 15 ac dd 45 00    	mov    0x45ddac,%dl
45dd75:	3a d0                	cmp    %al,%dl
45dd77:	75 2b                	jne    0x45dda4
45dd79:	8b 45 08             	mov    0x8(%ebp),%eax
45dd7c:	8b 40 f8             	mov    -0x8(%eax),%eax
45dd7f:	8b 50 0c             	mov    0xc(%eax),%edx
45dd82:	03 53 40             	add    0x40(%ebx),%edx
45dd85:	03 53 48             	add    0x48(%ebx),%edx
45dd88:	8b 45 08             	mov    0x8(%ebp),%eax
45dd8b:	8b 40 fc             	mov    -0x4(%eax),%eax
45dd8e:	e8 05 d5 fc ff       	call   0x42b298
45dd93:	8b 55 08             	mov    0x8(%ebp),%edx
45dd96:	89 42 fc             	mov    %eax,-0x4(%edx)
45dd99:	eb 09                	jmp    0x45dda4
45dd9b:	8b 45 08             	mov    0x8(%ebp),%eax
45dd9e:	8b 53 48             	mov    0x48(%ebx),%edx
45dda1:	01 50 f4             	add    %edx,-0xc(%eax)
45dda4:	5b                   	pop    %ebx
45dda5:	5d                   	pop    %ebp
45dda6:	c3                   	ret
45dda7:	00 05 00 00 00 01    	add    %al,0x1000000
45ddad:	00 00                	add    %al,(%eax)
45ddaf:	00 55 8b             	add    %dl,-0x75(%ebp)
45ddb2:	ec                   	in     (%dx),%al
45ddb3:	53                   	push   %ebx
45ddb4:	8b d8                	mov    %eax,%ebx
45ddb6:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
45ddba:	74 4e                	je     0x45de0a
45ddbc:	8a 43 5b             	mov    0x5b(%ebx),%al
45ddbf:	2c 02                	sub    $0x2,%al
45ddc1:	72 04                	jb     0x45ddc7
45ddc3:	74 3c                	je     0x45de01
45ddc5:	eb 43                	jmp    0x45de0a
45ddc7:	80 7b 5b 01          	cmpb   $0x1,0x5b(%ebx)
45ddcb:	74 12                	je     0x45dddf
45ddcd:	a0 10 de 45 00       	mov    0x45de10,%al
45ddd2:	22 43 61             	and    0x61(%ebx),%al
45ddd5:	8a 15 14 de 45 00    	mov    0x45de14,%dl
45dddb:	3a d0                	cmp    %al,%dl
45dddd:	75 2b                	jne    0x45de0a
45dddf:	8b 45 08             	mov    0x8(%ebp),%eax
45dde2:	8b 40 f8             	mov    -0x8(%eax),%eax
45dde5:	8b 50 0c             	mov    0xc(%eax),%edx
45dde8:	03 53 44             	add    0x44(%ebx),%edx
45ddeb:	03 53 4c             	add    0x4c(%ebx),%edx
45ddee:	8b 45 08             	mov    0x8(%ebp),%eax
45ddf1:	8b 40 fc             	mov    -0x4(%eax),%eax
45ddf4:	e8 9f d4 fc ff       	call   0x42b298
45ddf9:	8b 55 08             	mov    0x8(%ebp),%edx
45ddfc:	89 42 fc             	mov    %eax,-0x4(%edx)
45ddff:	eb 09                	jmp    0x45de0a
45de01:	8b 45 08             	mov    0x8(%ebp),%eax
45de04:	8b 53 4c             	mov    0x4c(%ebx),%edx
45de07:	01 50 f4             	add    %edx,-0xc(%eax)
45de0a:	5b                   	pop    %ebx
45de0b:	5d                   	pop    %ebp
45de0c:	c3                   	ret
45de0d:	00 00                	add    %al,(%eax)
45de0f:	00 0a                	add    %cl,(%edx)
45de11:	00 00                	add    %al,(%eax)
45de13:	00 02                	add    %al,(%edx)
45de15:	00 00                	add    %al,(%eax)
45de17:	00 55 8b             	add    %dl,-0x75(%ebp)
45de1a:	ec                   	in     (%dx),%al
45de1b:	83 c4 f4             	add    $0xfffffff4,%esp
45de1e:	53                   	push   %ebx
45de1f:	56                   	push   %esi
45de20:	89 45 f8             	mov    %eax,-0x8(%ebp)
45de23:	8b 45 f8             	mov    -0x8(%ebp),%eax
45de26:	8b 58 04             	mov    0x4(%eax),%ebx
45de29:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
45de30:	0f 84 87 00 00 00    	je     0x45debd
45de36:	8b c3                	mov    %ebx,%eax
45de38:	8b 10                	mov    (%eax),%edx
45de3a:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
45de40:	84 c0                	test   %al,%al
45de42:	74 6f                	je     0x45deb3
45de44:	33 c0                	xor    %eax,%eax
45de46:	89 45 fc             	mov    %eax,-0x4(%ebp)
45de49:	33 c0                	xor    %eax,%eax
45de4b:	89 45 f4             	mov    %eax,-0xc(%ebp)
45de4e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45de51:	8b 40 04             	mov    0x4(%eax),%eax
45de54:	e8 b3 c2 fe ff       	call   0x44a10c
45de59:	8b d8                	mov    %eax,%ebx
45de5b:	4b                   	dec    %ebx
45de5c:	85 db                	test   %ebx,%ebx
45de5e:	7c 3a                	jl     0x45de9a
45de60:	43                   	inc    %ebx
45de61:	33 f6                	xor    %esi,%esi
45de63:	8b 45 f8             	mov    -0x8(%ebp),%eax
45de66:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
45de6a:	75 16                	jne    0x45de82
45de6c:	55                   	push   %ebp
45de6d:	8b 45 f8             	mov    -0x8(%ebp),%eax
45de70:	8b 40 04             	mov    0x4(%eax),%eax
45de73:	8b d6                	mov    %esi,%edx
45de75:	e8 56 c2 fe ff       	call   0x44a0d0
45de7a:	e8 c5 fe ff ff       	call   0x45dd44
45de7f:	59                   	pop    %ecx
45de80:	eb 14                	jmp    0x45de96
45de82:	55                   	push   %ebp
45de83:	8b 45 f8             	mov    -0x8(%ebp),%eax
45de86:	8b 40 04             	mov    0x4(%eax),%eax
45de89:	8b d6                	mov    %esi,%edx
45de8b:	e8 40 c2 fe ff       	call   0x44a0d0
45de90:	e8 1b ff ff ff       	call   0x45ddb0
45de95:	59                   	pop    %ecx
45de96:	46                   	inc    %esi
45de97:	4b                   	dec    %ebx
45de98:	75 c9                	jne    0x45de63
45de9a:	8b 55 fc             	mov    -0x4(%ebp),%edx
45de9d:	03 55 f4             	add    -0xc(%ebp),%edx
45dea0:	8b 45 f8             	mov    -0x8(%ebp),%eax
45dea3:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
45dea7:	03 d0                	add    %eax,%edx
45dea9:	8b 45 f8             	mov    -0x8(%ebp),%eax
45deac:	e8 9b 06 00 00       	call   0x45e54c
45deb1:	eb 0a                	jmp    0x45debd
45deb3:	33 d2                	xor    %edx,%edx
45deb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
45deb8:	e8 8f 06 00 00       	call   0x45e54c
45debd:	5e                   	pop    %esi
45debe:	5b                   	pop    %ebx
45debf:	8b e5                	mov    %ebp,%esp
45dec1:	5d                   	pop    %ebp
45dec2:	c3                   	ret
45dec3:	90                   	nop
45dec4:	53                   	push   %ebx
45dec5:	56                   	push   %esi
45dec6:	8b d8                	mov    %eax,%ebx
45dec8:	be 00 00 10 00       	mov    $0x100000,%esi
45decd:	80 7b 18 01          	cmpb   $0x1,0x18(%ebx)
45ded1:	75 05                	jne    0x45ded8
45ded3:	be 00 00 20 00       	mov    $0x200000,%esi
45ded8:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
45dedc:	74 14                	je     0x45def2
45dede:	6a f0                	push   $0xfffffff0
45dee0:	8b 43 04             	mov    0x4(%ebx),%eax
45dee3:	e8 f4 f4 fe ff       	call   0x44d3dc
45dee8:	50                   	push   %eax
45dee9:	e8 6e 8a fa ff       	call   0x40695c
45deee:	85 f0                	test   %esi,%eax
45def0:	75 05                	jne    0x45def7
45def2:	33 c0                	xor    %eax,%eax
45def4:	5e                   	pop    %esi
45def5:	5b                   	pop    %ebx
45def6:	c3                   	ret
45def7:	b0 01                	mov    $0x1,%al
45def9:	5e                   	pop    %esi
45defa:	5b                   	pop    %ebx
45defb:	c3                   	ret
45defc:	55                   	push   %ebp
45defd:	8b ec                	mov    %esp,%ebp
45deff:	53                   	push   %ebx
45df00:	bb 00 00 10 00       	mov    $0x100000,%ebx
45df05:	66 83 f8 01          	cmp    $0x1,%ax
45df09:	75 05                	jne    0x45df10
45df0b:	bb 00 00 20 00       	mov    $0x200000,%ebx
45df10:	6a f0                	push   $0xfffffff0
45df12:	8b 45 08             	mov    0x8(%ebp),%eax
45df15:	8b 40 fc             	mov    -0x4(%eax),%eax
45df18:	8b 40 04             	mov    0x4(%eax),%eax
45df1b:	e8 bc f4 fe ff       	call   0x44d3dc
45df20:	50                   	push   %eax
45df21:	e8 36 8a fa ff       	call   0x40695c
45df26:	85 d8                	test   %ebx,%eax
45df28:	0f 95 c0             	setne  %al
45df2b:	5b                   	pop    %ebx
45df2c:	5d                   	pop    %ebp
45df2d:	c3                   	ret
45df2e:	8b c0                	mov    %eax,%eax
45df30:	55                   	push   %ebp
45df31:	8b ec                	mov    %esp,%ebp
45df33:	53                   	push   %ebx
45df34:	56                   	push   %esi
45df35:	57                   	push   %edi
45df36:	8b fa                	mov    %edx,%edi
45df38:	8b f0                	mov    %eax,%esi
45df3a:	33 db                	xor    %ebx,%ebx
45df3c:	8b 45 08             	mov    0x8(%ebp),%eax
45df3f:	80 78 fb 00          	cmpb   $0x0,-0x5(%eax)
45df43:	75 60                	jne    0x45dfa5
45df45:	8b 45 08             	mov    0x8(%ebp),%eax
45df48:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
45df4c:	74 29                	je     0x45df77
45df4e:	8b 45 08             	mov    0x8(%ebp),%eax
45df51:	50                   	push   %eax
45df52:	8b c6                	mov    %esi,%eax
45df54:	e8 a3 ff ff ff       	call   0x45defc
45df59:	59                   	pop    %ecx
45df5a:	84 c0                	test   %al,%al
45df5c:	75 19                	jne    0x45df77
45df5e:	0f b7 c7             	movzwl %di,%eax
45df61:	50                   	push   %eax
45df62:	a1 0c 46 47 00       	mov    0x47460c,%eax
45df67:	8b 00                	mov    (%eax),%eax
45df69:	ff d0                	call   *%eax
45df6b:	8b d8                	mov    %eax,%ebx
45df6d:	8b 45 08             	mov    0x8(%ebp),%eax
45df70:	2b 58 f4             	sub    -0xc(%eax),%ebx
45df73:	f7 db                	neg    %ebx
45df75:	eb 2e                	jmp    0x45dfa5
45df77:	8b 45 08             	mov    0x8(%ebp),%eax
45df7a:	80 78 fa 00          	cmpb   $0x0,-0x6(%eax)
45df7e:	75 25                	jne    0x45dfa5
45df80:	8b 45 08             	mov    0x8(%ebp),%eax
45df83:	50                   	push   %eax
45df84:	8b c6                	mov    %esi,%eax
45df86:	e8 71 ff ff ff       	call   0x45defc
45df8b:	59                   	pop    %ecx
45df8c:	84 c0                	test   %al,%al
45df8e:	74 15                	je     0x45dfa5
45df90:	0f b7 c7             	movzwl %di,%eax
45df93:	50                   	push   %eax
45df94:	a1 0c 46 47 00       	mov    0x47460c,%eax
45df99:	8b 00                	mov    (%eax),%eax
45df9b:	ff d0                	call   *%eax
45df9d:	8b d8                	mov    %eax,%ebx
45df9f:	8b 45 08             	mov    0x8(%ebp),%eax
45dfa2:	2b 58 f4             	sub    -0xc(%eax),%ebx
45dfa5:	8b c3                	mov    %ebx,%eax
45dfa7:	5f                   	pop    %edi
45dfa8:	5e                   	pop    %esi
45dfa9:	5b                   	pop    %ebx
45dfaa:	5d                   	pop    %ebp
45dfab:	c3                   	ret
45dfac:	55                   	push   %ebp
45dfad:	8b ec                	mov    %esp,%ebp
45dfaf:	83 c4 f4             	add    $0xfffffff4,%esp
45dfb2:	53                   	push   %ebx
45dfb3:	88 4d fa             	mov    %cl,-0x6(%ebp)
45dfb6:	88 55 fb             	mov    %dl,-0x5(%ebp)
45dfb9:	89 45 fc             	mov    %eax,-0x4(%ebp)
45dfbc:	6a f0                	push   $0xfffffff0
45dfbe:	8b 45 fc             	mov    -0x4(%ebp),%eax
45dfc1:	8b 40 04             	mov    0x4(%eax),%eax
45dfc4:	e8 13 f4 fe ff       	call   0x44d3dc
45dfc9:	50                   	push   %eax
45dfca:	e8 8d 89 fa ff       	call   0x40695c
45dfcf:	a9 00 00 84 00       	test   $0x840000,%eax
45dfd4:	0f 95 c0             	setne  %al
45dfd7:	83 e0 7f             	and    $0x7f,%eax
45dfda:	89 45 f4             	mov    %eax,-0xc(%ebp)
45dfdd:	8b 45 fc             	mov    -0x4(%ebp),%eax
45dfe0:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
45dfe4:	75 20                	jne    0x45e006
45dfe6:	55                   	push   %ebp
45dfe7:	66 ba 15 00          	mov    $0x15,%dx
45dfeb:	33 c0                	xor    %eax,%eax
45dfed:	e8 3e ff ff ff       	call   0x45df30
45dff2:	59                   	pop    %ecx
45dff3:	8b d8                	mov    %eax,%ebx
45dff5:	8b 45 fc             	mov    -0x4(%ebp),%eax
45dff8:	8b 40 04             	mov    0x4(%eax),%eax
45dffb:	e8 58 86 fe ff       	call   0x446658
45e000:	03 d8                	add    %eax,%ebx
45e002:	8b c3                	mov    %ebx,%eax
45e004:	eb 20                	jmp    0x45e026
45e006:	55                   	push   %ebp
45e007:	66 ba 14 00          	mov    $0x14,%dx