436d25:	85 c2                	test   %eax,%edx
436d27:	74 06                	je     0x436d2f
436d29:	81 ce 00 00 04 00    	or     $0x40000,%esi
436d2f:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
436d36:	0f 8c 86 01 00 00    	jl     0x436ec2
436d3c:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
436d42:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
436d46:	8b 4d f0             	mov    -0x10(%ebp),%ecx
436d49:	8b c1                	mov    %ecx,%eax
436d4b:	c1 e8 03             	shr    $0x3,%eax
436d4e:	83 e0 10             	and    $0x10,%eax
436d51:	f7 c1 00 02 00 00    	test   $0x200,%ecx
436d57:	74 03                	je     0x436d5c
436d59:	83 c8 08             	or     $0x8,%eax
436d5c:	f7 c1 00 04 00 00    	test   $0x400,%ecx
436d62:	74 03                	je     0x436d67
436d64:	83 c8 04             	or     $0x4,%eax
436d67:	f7 c1 00 08 00 00    	test   $0x800,%ecx
436d6d:	74 03                	je     0x436d72
436d6f:	83 c8 02             	or     $0x2,%eax
436d72:	85 ca                	test   %ecx,%edx
436d74:	74 03                	je     0x436d79
436d76:	83 c8 01             	or     $0x1,%eax
436d79:	f7 c1 00 01 00 00    	test   $0x100,%ecx
436d7f:	74 05                	je     0x436d86
436d81:	0d 00 00 08 00       	or     $0x80000,%eax
436d86:	8b d1                	mov    %ecx,%edx
436d88:	bb 00 60 00 00       	mov    $0x6000,%ebx
436d8d:	23 d3                	and    %ebx,%edx
436d8f:	74 27                	je     0x436db8
436d91:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
436d97:	74 1a                	je     0x436db3
436d99:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
436d9f:	74 0b                	je     0x436dac
436da1:	3b d3                	cmp    %ebx,%edx
436da3:	75 13                	jne    0x436db8
436da5:	0d 00 03 00 00       	or     $0x300,%eax
436daa:	eb 0c                	jmp    0x436db8
436dac:	0d 00 02 00 00       	or     $0x200,%eax
436db1:	eb 05                	jmp    0x436db8
436db3:	0d 00 01 00 00       	or     $0x100,%eax
436db8:	6a 40                	push   $0x40
436dba:	81 e1 40 80 00 00    	and    $0x8040,%ecx
436dc0:	5b                   	pop    %ebx
436dc1:	2b cb                	sub    %ebx,%ecx
436dc3:	74 1a                	je     0x436ddf
436dc5:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
436dcb:	74 0b                	je     0x436dd8
436dcd:	2b cb                	sub    %ebx,%ecx
436dcf:	75 13                	jne    0x436de4
436dd1:	0d 00 00 00 01       	or     $0x1000000,%eax
436dd6:	eb 0c                	jmp    0x436de4
436dd8:	0d 00 00 00 03       	or     $0x3000000,%eax
436ddd:	eb 05                	jmp    0x436de4
436ddf:	0d 00 00 00 02       	or     $0x2000000,%eax
436de4:	8b cf                	mov    %edi,%ecx
436de6:	23 7d 08             	and    0x8(%ebp),%edi
436de9:	f7 d1                	not    %ecx
436deb:	23 c8                	and    %eax,%ecx
436ded:	0b cf                	or     %edi,%ecx
436def:	3b c8                	cmp    %eax,%ecx
436df1:	0f 84 b4 00 00 00    	je     0x436eab
436df7:	51                   	push   %ecx
436df8:	e8 46 fc ff ff       	call   0x436a43
436dfd:	50                   	push   %eax
436dfe:	89 45 f4             	mov    %eax,-0xc(%ebp)
436e01:	e8 39 8e ff ff       	call   0x42fc3f
436e06:	59                   	pop    %ecx
436e07:	59                   	pop    %ecx
436e08:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
436e0c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
436e0f:	8b c1                	mov    %ecx,%eax
436e11:	c1 e8 03             	shr    $0x3,%eax
436e14:	83 e0 10             	and    $0x10,%eax
436e17:	f7 c1 00 02 00 00    	test   $0x200,%ecx
436e1d:	74 03                	je     0x436e22
436e1f:	83 c8 08             	or     $0x8,%eax
436e22:	f7 c1 00 04 00 00    	test   $0x400,%ecx
436e28:	74 03                	je     0x436e2d
436e2a:	83 c8 04             	or     $0x4,%eax
436e2d:	f7 c1 00 08 00 00    	test   $0x800,%ecx
436e33:	74 03                	je     0x436e38
436e35:	83 c8 02             	or     $0x2,%eax
436e38:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
436e3e:	74 03                	je     0x436e43
436e40:	83 c8 01             	or     $0x1,%eax
436e43:	f7 c1 00 01 00 00    	test   $0x100,%ecx
436e49:	74 05                	je     0x436e50
436e4b:	0d 00 00 08 00       	or     $0x80000,%eax
436e50:	8b d1                	mov    %ecx,%edx
436e52:	bf 00 60 00 00       	mov    $0x6000,%edi
436e57:	23 d7                	and    %edi,%edx
436e59:	74 27                	je     0x436e82
436e5b:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
436e61:	74 1a                	je     0x436e7d
436e63:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
436e69:	74 0b                	je     0x436e76
436e6b:	3b d7                	cmp    %edi,%edx
436e6d:	75 13                	jne    0x436e82
436e6f:	0d 00 03 00 00       	or     $0x300,%eax
436e74:	eb 0c                	jmp    0x436e82
436e76:	0d 00 02 00 00       	or     $0x200,%eax
436e7b:	eb 05                	jmp    0x436e82
436e7d:	0d 00 01 00 00       	or     $0x100,%eax
436e82:	81 e1 40 80 00 00    	and    $0x8040,%ecx
436e88:	2b cb                	sub    %ebx,%ecx
436e8a:	74 1a                	je     0x436ea6
436e8c:	81 e9 c0 7f 00 00    	sub    $0x7fc0,%ecx
436e92:	74 0b                	je     0x436e9f
436e94:	2b cb                	sub    %ebx,%ecx
436e96:	75 13                	jne    0x436eab
436e98:	0d 00 00 00 01       	or     $0x1000000,%eax
436e9d:	eb 0c                	jmp    0x436eab
436e9f:	0d 00 00 00 03       	or     $0x3000000,%eax
436ea4:	eb 05                	jmp    0x436eab
436ea6:	0d 00 00 00 02       	or     $0x2000000,%eax
436eab:	8b c8                	mov    %eax,%ecx
436ead:	33 c6                	xor    %esi,%eax
436eaf:	0b ce                	or     %esi,%ecx
436eb1:	a9 1f 03 08 00       	test   $0x8031f,%eax
436eb6:	74 06                	je     0x436ebe
436eb8:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
436ebe:	8b c1                	mov    %ecx,%eax
436ec0:	eb 02                	jmp    0x436ec4
436ec2:	8b c6                	mov    %esi,%eax
436ec4:	5f                   	pop    %edi
436ec5:	5e                   	pop    %esi
436ec6:	5b                   	pop    %ebx
436ec7:	c9                   	leave
436ec8:	c3                   	ret
436ec9:	8b ff                	mov    %edi,%edi
436ecb:	55                   	push   %ebp
436ecc:	8b ec                	mov    %esp,%ebp
436ece:	8b 4d 08             	mov    0x8(%ebp),%ecx
436ed1:	8b d1                	mov    %ecx,%edx
436ed3:	c1 ea 04             	shr    $0x4,%edx
436ed6:	83 e2 01             	and    $0x1,%edx
436ed9:	8b c2                	mov    %edx,%eax
436edb:	f6 c1 08             	test   $0x8,%cl
436ede:	74 06                	je     0x436ee6
436ee0:	83 ca 04             	or     $0x4,%edx
436ee3:	0f b7 c2             	movzwl %dx,%eax
436ee6:	f6 c1 04             	test   $0x4,%cl
436ee9:	74 03                	je     0x436eee
436eeb:	83 c8 08             	or     $0x8,%eax
436eee:	f6 c1 02             	test   $0x2,%cl
436ef1:	74 03                	je     0x436ef6
436ef3:	83 c8 10             	or     $0x10,%eax
436ef6:	f6 c1 01             	test   $0x1,%cl
436ef9:	74 03                	je     0x436efe
436efb:	83 c8 20             	or     $0x20,%eax
436efe:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
436f04:	74 03                	je     0x436f09
436f06:	83 c8 02             	or     $0x2,%eax
436f09:	56                   	push   %esi
436f0a:	8b d1                	mov    %ecx,%edx
436f0c:	be 00 03 00 00       	mov    $0x300,%esi
436f11:	57                   	push   %edi
436f12:	bf 00 02 00 00       	mov    $0x200,%edi
436f17:	23 d6                	and    %esi,%edx
436f19:	74 23                	je     0x436f3e
436f1b:	81 fa 00 01 00 00    	cmp    $0x100,%edx
436f21:	74 16                	je     0x436f39
436f23:	3b d7                	cmp    %edi,%edx
436f25:	74 0b                	je     0x436f32
436f27:	3b d6                	cmp    %esi,%edx
436f29:	75 13                	jne    0x436f3e
436f2b:	0d 00 0c 00 00       	or     $0xc00,%eax
436f30:	eb 0c                	jmp    0x436f3e
436f32:	0d 00 08 00 00       	or     $0x800,%eax
436f37:	eb 05                	jmp    0x436f3e
436f39:	0d 00 04 00 00       	or     $0x400,%eax
436f3e:	8b d1                	mov    %ecx,%edx
436f40:	81 e2 00 00 03 00    	and    $0x30000,%edx
436f46:	74 0c                	je     0x436f54
436f48:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
436f4e:	75 06                	jne    0x436f56
436f50:	0b c7                	or     %edi,%eax
436f52:	eb 02                	jmp    0x436f56
436f54:	0b c6                	or     %esi,%eax
436f56:	5f                   	pop    %edi
436f57:	5e                   	pop    %esi
436f58:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
436f5e:	74 05                	je     0x436f65
436f60:	0d 00 10 00 00       	or     $0x1000,%eax
436f65:	5d                   	pop    %ebp
436f66:	c3                   	ret
436f67:	8b ff                	mov    %edi,%edi
436f69:	55                   	push   %ebp
436f6a:	8b ec                	mov    %esp,%ebp
436f6c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
436f70:	75 15                	jne    0x436f87
436f72:	e8 c9 f6 fe ff       	call   0x426640
436f77:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436f7d:	e8 ed 9a fe ff       	call   0x420a6f
436f82:	83 c8 ff             	or     $0xffffffff,%eax
436f85:	5d                   	pop    %ebp
436f86:	c3                   	ret
436f87:	ff 75 08             	push   0x8(%ebp)
436f8a:	6a 00                	push   $0x0
436f8c:	ff 35 3c 61 45 00    	push   0x45613c
436f92:	ff 15 0c f1 43 00    	call   *0x43f10c
436f98:	5d                   	pop    %ebp
436f99:	c3                   	ret
436f9a:	8b ff                	mov    %edi,%edi
436f9c:	55                   	push   %ebp
436f9d:	8b ec                	mov    %esp,%ebp
436f9f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436fa3:	74 14                	je     0x436fb9
436fa5:	8b 45 08             	mov    0x8(%ebp),%eax
436fa8:	eb 01                	jmp    0x436fab
436faa:	40                   	inc    %eax
436fab:	8a 08                	mov    (%eax),%cl
436fad:	80 f9 30             	cmp    $0x30,%cl
436fb0:	74 f8                	je     0x436faa
436fb2:	84 c9                	test   %cl,%cl
436fb4:	0f 95 c0             	setne  %al
436fb7:	5d                   	pop    %ebp
436fb8:	c3                   	ret
436fb9:	b0 01                	mov    $0x1,%al
436fbb:	5d                   	pop    %ebp
436fbc:	c3                   	ret
436fbd:	8b ff                	mov    %edi,%edi
436fbf:	55                   	push   %ebp
436fc0:	8b ec                	mov    %esp,%ebp
436fc2:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
436fc6:	75 0b                	jne    0x436fd3
436fc8:	8b 45 0c             	mov    0xc(%ebp),%eax
436fcb:	80 38 35             	cmpb   $0x35,(%eax)
436fce:	0f 9d c0             	setge  %al
436fd1:	5d                   	pop    %ebp
436fd2:	c3                   	ret
436fd3:	e8 27 9c ff ff       	call   0x430bff
436fd8:	85 c0                	test   %eax,%eax
436fda:	75 2d                	jne    0x437009
436fdc:	8b 55 0c             	mov    0xc(%ebp),%edx
436fdf:	8a 02                	mov    (%edx),%al
436fe1:	3c 35                	cmp    $0x35,%al
436fe3:	7f 20                	jg     0x437005
436fe5:	7c 60                	jl     0x437047
436fe7:	ff 75 14             	push   0x14(%ebp)
436fea:	8d 42 01             	lea    0x1(%edx),%eax
436fed:	50                   	push   %eax
436fee:	e8 a7 ff ff ff       	call   0x436f9a
436ff3:	59                   	pop    %ecx
436ff4:	59                   	pop    %ecx
436ff5:	84 c0                	test   %al,%al
436ff7:	75 0c                	jne    0x437005
436ff9:	3b 55 08             	cmp    0x8(%ebp),%edx
436ffc:	74 49                	je     0x437047
436ffe:	8a 42 ff             	mov    -0x1(%edx),%al
437001:	24 01                	and    $0x1,%al
437003:	5d                   	pop    %ebp
437004:	c3                   	ret
437005:	b0 01                	mov    $0x1,%al
437007:	5d                   	pop    %ebp
437008:	c3                   	ret
437009:	3d 00 02 00 00       	cmp    $0x200,%eax
43700e:	75 19                	jne    0x437029
437010:	ff 75 14             	push   0x14(%ebp)
437013:	ff 75 0c             	push   0xc(%ebp)
437016:	e8 7f ff ff ff       	call   0x436f9a
43701b:	59                   	pop    %ecx
43701c:	59                   	pop    %ecx
43701d:	84 c0                	test   %al,%al
43701f:	74 26                	je     0x437047
437021:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
437025:	74 20                	je     0x437047
437027:	eb dc                	jmp    0x437005
437029:	3d 00 01 00 00       	cmp    $0x100,%eax
43702e:	75 17                	jne    0x437047
437030:	ff 75 14             	push   0x14(%ebp)
437033:	ff 75 0c             	push   0xc(%ebp)
437036:	e8 5f ff ff ff       	call   0x436f9a
43703b:	59                   	pop    %ecx
43703c:	59                   	pop    %ecx
43703d:	84 c0                	test   %al,%al
43703f:	74 06                	je     0x437047
437041:	83 7d 10 2d          	cmpl   $0x2d,0x10(%ebp)
437045:	74 be                	je     0x437005
437047:	32 c0                	xor    %al,%al
437049:	5d                   	pop    %ebp
43704a:	c3                   	ret
43704b:	8b ff                	mov    %edi,%edi
43704d:	55                   	push   %ebp
43704e:	8b ec                	mov    %esp,%ebp
437050:	51                   	push   %ecx
437051:	56                   	push   %esi
437052:	57                   	push   %edi
437053:	8b 7d 08             	mov    0x8(%ebp),%edi
437056:	33 c9                	xor    %ecx,%ecx
437058:	85 ff                	test   %edi,%edi
43705a:	75 22                	jne    0x43707e
43705c:	8b 45 20             	mov    0x20(%ebp),%eax
43705f:	6a 16                	push   $0x16
437061:	5e                   	pop    %esi
437062:	50                   	push   %eax
437063:	51                   	push   %ecx
437064:	51                   	push   %ecx
437065:	51                   	push   %ecx
437066:	51                   	push   %ecx
437067:	51                   	push   %ecx
437068:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
43706c:	89 70 18             	mov    %esi,0x18(%eax)
43706f:	e8 7e 99 fe ff       	call   0x4209f2
437074:	83 c4 18             	add    $0x18,%esp
437077:	8b c6                	mov    %esi,%eax
437079:	e9 c3 00 00 00       	jmp    0x437141
43707e:	53                   	push   %ebx
43707f:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
437082:	76 1e                	jbe    0x4370a2
437084:	8b 55 10             	mov    0x10(%ebp),%edx
437087:	8b c2                	mov    %edx,%eax
437089:	88 0f                	mov    %cl,(%edi)
43708b:	85 d2                	test   %edx,%edx
43708d:	7f 02                	jg     0x437091
43708f:	8b c1                	mov    %ecx,%eax
437091:	40                   	inc    %eax
437092:	39 45 0c             	cmp    %eax,0xc(%ebp)
437095:	77 04                	ja     0x43709b
437097:	6a 22                	push   $0x22
437099:	eb 09                	jmp    0x4370a4
43709b:	8b 5d 14             	mov    0x14(%ebp),%ebx
43709e:	85 db                	test   %ebx,%ebx
4370a0:	75 1f                	jne    0x4370c1
4370a2:	6a 16                	push   $0x16
4370a4:	8b 45 20             	mov    0x20(%ebp),%eax
4370a7:	5e                   	pop    %esi
4370a8:	50                   	push   %eax
4370a9:	51                   	push   %ecx
4370aa:	51                   	push   %ecx
4370ab:	51                   	push   %ecx
4370ac:	51                   	push   %ecx
4370ad:	89 70 18             	mov    %esi,0x18(%eax)
4370b0:	51                   	push   %ecx
4370b1:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4370b5:	e8 38 99 fe ff       	call   0x4209f2
4370ba:	83 c4 18             	add    $0x18,%esp
4370bd:	8b c6                	mov    %esi,%eax
4370bf:	eb 7f                	jmp    0x437140
4370c1:	8b 43 08             	mov    0x8(%ebx),%eax
4370c4:	8d 77 01             	lea    0x1(%edi),%esi
4370c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4370ca:	c6 07 30             	movb   $0x30,(%edi)
4370cd:	85 d2                	test   %edx,%edx
4370cf:	7e 16                	jle    0x4370e7
4370d1:	8a 18                	mov    (%eax),%bl
4370d3:	84 db                	test   %bl,%bl
4370d5:	74 03                	je     0x4370da
4370d7:	40                   	inc    %eax