412c31:	3a 40 00             	cmp    0x0(%eax),%al
412c34:	4c                   	dec    %esp
412c35:	3a 40 00             	cmp    0x0(%eax),%al
412c38:	50                   	push   %eax
412c39:	3a 40 00             	cmp    0x0(%eax),%al
412c3c:	54                   	push   %esp
412c3d:	3a 40 00             	cmp    0x0(%eax),%al
412c40:	48                   	dec    %eax
412c41:	3a 40 00             	cmp    0x0(%eax),%al
412c44:	94                   	xchg   %eax,%esp
412c45:	37                   	aaa
412c46:	40                   	inc    %eax
412c47:	00 b0 37 40 00 0c    	add    %dh,0xc004037(%eax)
412c4d:	2e 41                	cs inc %ecx
412c4f:	00 09                	add    %cl,(%ecx)
412c51:	54                   	push   %esp
412c52:	52                   	push   %edx
412c53:	65 67 47             	gs addr16 inc %edi
412c56:	72 6f                	jb     0x412cc7
412c58:	75 70                	jne    0x412cca
412c5a:	8b c0                	mov    %eax,%eax
412c5c:	a8 2c                	test   $0x2c,%al
412c5e:	41                   	inc    %ecx
412c7b:	00 a8 2c 41 00 24    	add    %ch,0x2400412c(%eax)
412c81:	00 00                	add    %al,(%eax)
412c83:	00 a0 10 40 00 40    	add    %ah,0x40004010(%eax)
412c89:	3a 40 00             	cmp    0x0(%eax),%al
412c8c:	4c                   	dec    %esp
412c8d:	3a 40 00             	cmp    0x0(%eax),%al
412c90:	50                   	push   %eax
412c91:	3a 40 00             	cmp    0x0(%eax),%al
412c94:	54                   	push   %esp
412c95:	3a 40 00             	cmp    0x0(%eax),%al
412c98:	48                   	dec    %eax
412c99:	3a 40 00             	cmp    0x0(%eax),%al
412c9c:	94                   	xchg   %eax,%esp
412c9d:	37                   	aaa
412c9e:	40                   	inc    %eax
412c9f:	00 b0 37 40 00 34    	add    %dh,0x34004037(%eax)
412ca5:	31 41 00             	xor    %eax,0x0(%ecx)
412ca8:	0a 54 52 65          	or     0x65(%edx,%edx,2),%dl
412cac:	67 47                	addr16 inc %edi
412cae:	72 6f                	jb     0x412d1f
412cb0:	75 70                	jne    0x412d22
412cb2:	73 90                	jae    0x412c44
412cb4:	8b 40 0c             	mov    0xc(%eax),%eax
412cb7:	e8 bc 11 00 00       	call   0x413e78
412cbc:	c3                   	ret
412cbd:	8d 40 00             	lea    0x0(%eax),%eax
412cc0:	53                   	push   %ebx
412cc1:	56                   	push   %esi
412cc2:	57                   	push   %edi
412cc3:	55                   	push   %ebp
412cc4:	83 c4 f8             	add    $0xfffffff8,%esp
412cc7:	89 54 24 04          	mov    %edx,0x4(%esp)
412ccb:	89 04 24             	mov    %eax,(%esp)
412cce:	33 ed                	xor    %ebp,%ebp
412cd0:	8b 04 24             	mov    (%esp),%eax
412cd3:	8b 40 0c             	mov    0xc(%eax),%eax
412cd6:	8b 70 08             	mov    0x8(%eax),%esi
412cd9:	4e                   	dec    %esi
412cda:	85 f6                	test   %esi,%esi
412cdc:	7c 38                	jl     0x412d16
412cde:	46                   	inc    %esi
412cdf:	33 ff                	xor    %edi,%edi
412ce1:	8b 04 24             	mov    (%esp),%eax
412ce4:	8b 40 0c             	mov    0xc(%eax),%eax
412ce7:	8b d7                	mov    %edi,%edx
412ce9:	e8 fa 12 00 00       	call   0x413fe8
412cee:	8b d8                	mov    %eax,%ebx
412cf0:	8b d3                	mov    %ebx,%edx
412cf2:	8b 44 24 04          	mov    0x4(%esp),%eax
412cf6:	e8 21 0d ff ff       	call   0x403a1c
412cfb:	84 c0                	test   %al,%al
412cfd:	74 13                	je     0x412d12
412cff:	85 ed                	test   %ebp,%ebp
412d01:	74 0d                	je     0x412d10
412d03:	8b d5                	mov    %ebp,%edx
412d05:	8b c3                	mov    %ebx,%eax
412d07:	e8 10 0d ff ff       	call   0x403a1c
412d0c:	84 c0                	test   %al,%al
412d0e:	74 02                	je     0x412d12
412d10:	8b eb                	mov    %ebx,%ebp
412d12:	47                   	inc    %edi
412d13:	4e                   	dec    %esi
412d14:	75 cb                	jne    0x412ce1
412d16:	8b c5                	mov    %ebp,%eax
412d18:	59                   	pop    %ecx
412d19:	5a                   	pop    %edx
412d1a:	5d                   	pop    %ebp
412d1b:	5f                   	pop    %edi
412d1c:	5e                   	pop    %esi
412d1d:	5b                   	pop    %ebx
412d1e:	c3                   	ret
412d1f:	90                   	nop
412d20:	55                   	push   %ebp
412d21:	8b ec                	mov    %esp,%ebp
412d23:	51                   	push   %ecx
412d24:	53                   	push   %ebx
412d25:	56                   	push   %esi
412d26:	57                   	push   %edi
412d27:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412d2a:	8b fa                	mov    %edx,%edi
412d2c:	8b 5d 08             	mov    0x8(%ebp),%ebx
412d2f:	85 ff                	test   %edi,%edi
412d31:	74 0d                	je     0x412d40
412d33:	8b d3                	mov    %ebx,%edx
412d35:	8b c7                	mov    %edi,%eax
412d37:	e8 84 ff ff ff       	call   0x412cc0
412d3c:	8b f0                	mov    %eax,%esi
412d3e:	eb 02                	jmp    0x412d42
412d40:	33 f6                	xor    %esi,%esi
412d42:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
412d46:	74 0e                	je     0x412d56
412d48:	8b d3                	mov    %ebx,%edx
412d4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
412d4d:	e8 6e ff ff ff       	call   0x412cc0
412d52:	8b d8                	mov    %eax,%ebx
412d54:	eb 02                	jmp    0x412d58
412d56:	33 db                	xor    %ebx,%ebx
412d58:	85 f6                	test   %esi,%esi
412d5a:	75 0d                	jne    0x412d69
412d5c:	85 db                	test   %ebx,%ebx
412d5e:	75 04                	jne    0x412d64
412d60:	33 c0                	xor    %eax,%eax
412d62:	eb 21                	jmp    0x412d85
412d64:	8b 45 fc             	mov    -0x4(%ebp),%eax
412d67:	eb 1c                	jmp    0x412d85
412d69:	85 db                	test   %ebx,%ebx
412d6b:	75 04                	jne    0x412d71
412d6d:	8b c7                	mov    %edi,%eax
412d6f:	eb 14                	jmp    0x412d85
412d71:	8b d3                	mov    %ebx,%edx
412d73:	8b c6                	mov    %esi,%eax
412d75:	e8 a2 0c ff ff       	call   0x403a1c
412d7a:	84 c0                	test   %al,%al
412d7c:	74 04                	je     0x412d82
412d7e:	8b c7                	mov    %edi,%eax
412d80:	eb 03                	jmp    0x412d85
412d82:	8b 45 fc             	mov    -0x4(%ebp),%eax
412d85:	5f                   	pop    %edi
412d86:	5e                   	pop    %esi
412d87:	5b                   	pop    %ebx
412d88:	59                   	pop    %ecx
412d89:	5d                   	pop    %ebp
412d8a:	c2 04 00             	ret    $0x4
412d8d:	8d 40 00             	lea    0x0(%eax),%eax
412d90:	55                   	push   %ebp
412d91:	8b ec                	mov    %esp,%ebp
412d93:	51                   	push   %ecx
412d94:	53                   	push   %ebx
412d95:	56                   	push   %esi
412d96:	57                   	push   %edi
412d97:	84 d2                	test   %dl,%dl
412d99:	74 08                	je     0x412da3
412d9b:	83 c4 f0             	add    $0xfffffff0,%esp
412d9e:	e8 79 0d ff ff       	call   0x403b1c
412da3:	8b f9                	mov    %ecx,%edi
412da5:	88 55 ff             	mov    %dl,-0x1(%ebp)
412da8:	8b d8                	mov    %eax,%ebx
412daa:	33 d2                	xor    %edx,%edx
412dac:	8b c3                	mov    %ebx,%eax
412dae:	e8 19 0a ff ff       	call   0x4037cc
412db3:	b2 01                	mov    $0x1,%dl
412db5:	a1 6c 1c 41 00       	mov    0x411c6c,%eax
412dba:	e8 0d 0a ff ff       	call   0x4037cc
412dbf:	89 43 04             	mov    %eax,0x4(%ebx)
412dc2:	b2 01                	mov    $0x1,%dl
412dc4:	a1 88 20 41 00       	mov    0x412088,%eax
412dc9:	e8 fe 09 ff ff       	call   0x4037cc
412dce:	89 43 08             	mov    %eax,0x8(%ebx)
412dd1:	b2 01                	mov    $0x1,%dl
412dd3:	a1 6c 1c 41 00       	mov    0x411c6c,%eax
412dd8:	e8 ef 09 ff ff       	call   0x4037cc
412ddd:	8b f0                	mov    %eax,%esi
412ddf:	89 73 0c             	mov    %esi,0xc(%ebx)
412de2:	8b c6                	mov    %esi,%eax
412de4:	8b d7                	mov    %edi,%edx
412de6:	e8 8d 10 00 00       	call   0x413e78
412deb:	8b c3                	mov    %ebx,%eax
412ded:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
412df1:	74 0f                	je     0x412e02
412df3:	e8 7c 0d ff ff       	call   0x403b74
412df8:	64 8f 05 00 00 00 00 	pop    %fs:0x0
412dff:	83 c4 0c             	add    $0xc,%esp
412e02:	8b c3                	mov    %ebx,%eax
412e04:	5f                   	pop    %edi
412e05:	5e                   	pop    %esi
412e06:	5b                   	pop    %ebx
412e07:	59                   	pop    %ecx
412e08:	5d                   	pop    %ebp
412e09:	c3                   	ret
412e0a:	8b c0                	mov    %eax,%eax
412e0c:	53                   	push   %ebx
412e0d:	56                   	push   %esi
412e0e:	e8 71 0d ff ff       	call   0x403b84
412e13:	8b da                	mov    %edx,%ebx
412e15:	8b f0                	mov    %eax,%esi
412e17:	8b d3                	mov    %ebx,%edx
412e19:	80 e2 fc             	and    $0xfc,%dl
412e1c:	8b c6                	mov    %esi,%eax
412e1e:	e8 c9 09 ff ff       	call   0x4037ec
412e23:	8b 46 04             	mov    0x4(%esi),%eax
412e26:	e8 d1 09 ff ff       	call   0x4037fc
412e2b:	8b 46 08             	mov    0x8(%esi),%eax
412e2e:	e8 c9 09 ff ff       	call   0x4037fc
412e33:	8b 46 0c             	mov    0xc(%esi),%eax
412e36:	e8 c1 09 ff ff       	call   0x4037fc
412e3b:	84 db                	test   %bl,%bl
412e3d:	7e 07                	jle    0x412e46
412e3f:	8b c6                	mov    %esi,%eax
412e41:	e8 26 0d ff ff       	call   0x403b6c
412e46:	5e                   	pop    %esi
412e47:	5b                   	pop    %ebx
412e48:	c3                   	ret
412e49:	8d 40 00             	lea    0x0(%eax),%eax
412e4c:	53                   	push   %ebx
412e4d:	56                   	push   %esi
412e4e:	57                   	push   %edi
412e4f:	55                   	push   %ebp
412e50:	51                   	push   %ecx
412e51:	89 14 24             	mov    %edx,(%esp)
412e54:	8b e8                	mov    %eax,%ebp
412e56:	8b 45 04             	mov    0x4(%ebp),%eax
412e59:	8b 70 08             	mov    0x8(%eax),%esi
412e5c:	4e                   	dec    %esi
412e5d:	85 f6                	test   %esi,%esi
412e5f:	7c 21                	jl     0x412e82
412e61:	46                   	inc    %esi
412e62:	33 db                	xor    %ebx,%ebx
412e64:	8b 45 04             	mov    0x4(%ebp),%eax
412e67:	8b d3                	mov    %ebx,%edx
412e69:	e8 7a 11 00 00       	call   0x413fe8
412e6e:	8b f8                	mov    %eax,%edi
412e70:	8b 14 24             	mov    (%esp),%edx
412e73:	8b c7                	mov    %edi,%eax
412e75:	e8 e6 08 ff ff       	call   0x403760
412e7a:	84 c0                	test   %al,%al
412e7c:	75 25                	jne    0x412ea3
412e7e:	43                   	inc    %ebx
412e7f:	4e                   	dec    %esi
412e80:	75 e2                	jne    0x412e64
412e82:	8b 45 08             	mov    0x8(%ebp),%eax
412e85:	8b 14 24             	mov    (%esp),%edx
412e88:	8b 08                	mov    (%eax),%ecx
412e8a:	ff 51 54             	call   *0x54(%ecx)
412e8d:	8b d8                	mov    %eax,%ebx
412e8f:	85 db                	test   %ebx,%ebx
412e91:	7c 0e                	jl     0x412ea1
412e93:	8b 45 08             	mov    0x8(%ebp),%eax
412e96:	8b d3                	mov    %ebx,%edx
412e98:	8b 08                	mov    (%eax),%ecx
412e9a:	ff 51 18             	call   *0x18(%ecx)
412e9d:	8b f8                	mov    %eax,%edi
412e9f:	eb 02                	jmp    0x412ea3
412ea1:	33 ff                	xor    %edi,%edi
412ea3:	8b c7                	mov    %edi,%eax
412ea5:	5a                   	pop    %edx
412ea6:	5d                   	pop    %ebp
412ea7:	5f                   	pop    %edi
412ea8:	5e                   	pop    %esi
412ea9:	5b                   	pop    %ebx
412eaa:	c3                   	ret
412eab:	90                   	nop
412eac:	53                   	push   %ebx
412ead:	56                   	push   %esi
412eae:	57                   	push   %edi
412eaf:	55                   	push   %ebp
412eb0:	51                   	push   %ecx
412eb1:	8b ea                	mov    %edx,%ebp
412eb3:	8b f8                	mov    %eax,%edi
412eb5:	c6 04 24 01          	movb   $0x1,(%esp)
412eb9:	8b 47 0c             	mov    0xc(%edi),%eax
412ebc:	8b 58 08             	mov    0x8(%eax),%ebx
412ebf:	4b                   	dec    %ebx
412ec0:	85 db                	test   %ebx,%ebx
412ec2:	7c 1e                	jl     0x412ee2
412ec4:	43                   	inc    %ebx
412ec5:	33 f6                	xor    %esi,%esi
412ec7:	8b 47 0c             	mov    0xc(%edi),%eax
412eca:	8b d6                	mov    %esi,%edx
412ecc:	e8 17 11 00 00       	call   0x413fe8
412ed1:	8b d0                	mov    %eax,%edx
412ed3:	8b c5                	mov    %ebp,%eax
412ed5:	e8 42 0b ff ff       	call   0x403a1c
412eda:	84 c0                	test   %al,%al
412edc:	75 08                	jne    0x412ee6
412ede:	46                   	inc    %esi
412edf:	4b                   	dec    %ebx
412ee0:	75 e5                	jne    0x412ec7
412ee2:	c6 04 24 00          	movb   $0x0,(%esp)
412ee6:	8a 04 24             	mov    (%esp),%al
412ee9:	5a                   	pop    %edx
412eea:	5d                   	pop    %ebp
412eeb:	5f                   	pop    %edi
412eec:	5e                   	pop    %esi
412eed:	5b                   	pop    %ebx
412eee:	c3                   	ret
412eef:	90                   	nop
412ef0:	55                   	push   %ebp
412ef1:	8b ec                	mov    %esp,%ebp
412ef3:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
412ef9:	53                   	push   %ebx
412efa:	56                   	push   %esi
412efb:	33 c9                	xor    %ecx,%ecx
412efd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412f00:	8b f2                	mov    %edx,%esi
412f02:	8b d8                	mov    %eax,%ebx
412f04:	33 c0                	xor    %eax,%eax
412f06:	55                   	push   %ebp
412f07:	68 8b 2f 41 00       	push   $0x412f8b
412f0c:	64 ff 30             	push   %fs:(%eax)
412f0f:	64 89 20             	mov    %esp,%fs:(%eax)
412f12:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412f18:	8b c6                	mov    %esi,%eax
412f1a:	e8 2d 08 ff ff       	call   0x40374c
412f1f:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
412f25:	8d 45 fc             	lea    -0x4(%ebp),%eax
412f28:	e8 a7 18 ff ff       	call   0x4047d4
412f2d:	8b 55 fc             	mov    -0x4(%ebp),%edx
412f30:	8b c3                	mov    %ebx,%eax
412f32:	e8 15 ff ff ff       	call   0x412e4c
412f37:	85 c0                	test   %eax,%eax
412f39:	74 30                	je     0x412f6b
412f3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
412f3e:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
412f44:	c6 85 f8 fe ff ff 0b 	movb   $0xb,-0x108(%ebp)
412f4b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
412f51:	50                   	push   %eax
412f52:	6a 00                	push   $0x0
412f54:	8b 0d 1c 0c 46 00    	mov    0x460c1c,%ecx
412f5a:	b2 01                	mov    $0x1,%dl
412f5c:	a1 84 18 41 00       	mov    0x411884,%eax
412f61:	e8 a6 8b ff ff       	call   0x40bb0c
412f66:	e8 19 10 ff ff       	call   0x403f84
412f6b:	8b d6                	mov    %esi,%edx
412f6d:	8b 43 04             	mov    0x4(%ebx),%eax
412f70:	e8 03 0f 00 00       	call   0x413e78
412f75:	33 c0                	xor    %eax,%eax
412f77:	5a                   	pop    %edx
412f78:	59                   	pop    %ecx
412f79:	59                   	pop    %ecx
412f7a:	64 89 10             	mov    %edx,%fs:(%eax)
412f7d:	68 92 2f 41 00       	push   $0x412f92
412f82:	8d 45 fc             	lea    -0x4(%ebp),%eax
412f85:	e8 e6 15 ff ff       	call   0x404570
412f8a:	c3                   	ret
412f8b:	e9 bc 0f ff ff       	jmp    0x403f4c
412f90:	eb f0                	jmp    0x412f82
412f92:	5e                   	pop    %esi