4107f3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
4107f7:	6a 02                	push   $0x2
4107f9:	58                   	pop    %eax
4107fa:	66 3b c8             	cmp    %ax,%cx
4107fd:	74 0d                	je     0x41080c
4107ff:	83 f9 03             	cmp    $0x3,%ecx
410802:	75 05                	jne    0x410809
410804:	33 c0                	xor    %eax,%eax
410806:	40                   	inc    %eax
410807:	5d                   	pop    %ebp
410808:	c3                   	ret
410809:	8b 45 08             	mov    0x8(%ebp),%eax
41080c:	5d                   	pop    %ebp
41080d:	c3                   	ret
41080e:	ff 25 74 33 43 00    	jmp    *0x433374
410814:	cc                   	int3
410815:	cc                   	int3
410816:	cc                   	int3
410817:	cc                   	int3
410818:	cc                   	int3
410819:	cc                   	int3
41081a:	cc                   	int3
41081b:	cc                   	int3
41081c:	cc                   	int3
41081d:	cc                   	int3
41081e:	cc                   	int3
41081f:	cc                   	int3
410820:	33 c0                	xor    %eax,%eax
410822:	c3                   	ret
410823:	cc                   	int3
410824:	cc                   	int3
410825:	cc                   	int3
410826:	cc                   	int3
410827:	cc                   	int3
410828:	cc                   	int3
410829:	cc                   	int3
41082a:	cc                   	int3
41082b:	cc                   	int3
41082c:	cc                   	int3
41082d:	cc                   	int3
41082e:	cc                   	int3
41082f:	cc                   	int3
410830:	8b ff                	mov    %edi,%edi
410832:	55                   	push   %ebp
410833:	8b ec                	mov    %esp,%ebp
410835:	8b 45 08             	mov    0x8(%ebp),%eax
410838:	33 d2                	xor    %edx,%edx
41083a:	53                   	push   %ebx
41083b:	56                   	push   %esi
41083c:	57                   	push   %edi
41083d:	8b 48 3c             	mov    0x3c(%eax),%ecx
410840:	03 c8                	add    %eax,%ecx
410842:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
410846:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
41084a:	83 c0 18             	add    $0x18,%eax
41084d:	03 c1                	add    %ecx,%eax
41084f:	85 db                	test   %ebx,%ebx
410851:	74 1b                	je     0x41086e
410853:	8b 7d 0c             	mov    0xc(%ebp),%edi
410856:	8b 70 0c             	mov    0xc(%eax),%esi
410859:	3b fe                	cmp    %esi,%edi
41085b:	72 09                	jb     0x410866
41085d:	8b 48 08             	mov    0x8(%eax),%ecx
410860:	03 ce                	add    %esi,%ecx
410862:	3b f9                	cmp    %ecx,%edi
410864:	72 0a                	jb     0x410870
410866:	42                   	inc    %edx
410867:	83 c0 28             	add    $0x28,%eax
41086a:	3b d3                	cmp    %ebx,%edx
41086c:	72 e8                	jb     0x410856
41086e:	33 c0                	xor    %eax,%eax
410870:	5f                   	pop    %edi
410871:	5e                   	pop    %esi
410872:	5b                   	pop    %ebx
410873:	5d                   	pop    %ebp
410874:	c3                   	ret
410875:	cc                   	int3
410876:	cc                   	int3
410877:	cc                   	int3
410878:	cc                   	int3
410879:	cc                   	int3
41087a:	cc                   	int3
41087b:	cc                   	int3
41087c:	cc                   	int3
41087d:	cc                   	int3
41087e:	cc                   	int3
41087f:	cc                   	int3
410880:	8b ff                	mov    %edi,%edi
410882:	55                   	push   %ebp
410883:	8b ec                	mov    %esp,%ebp
410885:	6a fe                	push   $0xfffffffe
410887:	68 c8 0b 41 00       	push   $0x410bc8
41088c:	68 90 0a 41 00       	push   $0x410a90
410891:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
410897:	50                   	push   %eax
410898:	83 ec 08             	sub    $0x8,%esp
41089b:	53                   	push   %ebx
41089c:	56                   	push   %esi
41089d:	57                   	push   %edi
41089e:	a1 64 10 41 00       	mov    0x411064,%eax
4108a3:	31 45 f8             	xor    %eax,-0x8(%ebp)
4108a6:	33 c5                	xor    %ebp,%eax
4108a8:	50                   	push   %eax
4108a9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4108ac:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4108b2:	89 65 e8             	mov    %esp,-0x18(%ebp)
4108b5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4108bc:	68 00 00 40 00       	push   $0x400000
4108c1:	e8 7a 00 00 00       	call   0x410940
4108c6:	83 c4 04             	add    $0x4,%esp
4108c9:	85 c0                	test   %eax,%eax
4108cb:	74 54                	je     0x410921
4108cd:	8b 45 08             	mov    0x8(%ebp),%eax
4108d0:	2d 00 00 40 00       	sub    $0x400000,%eax
4108d5:	50                   	push   %eax
4108d6:	68 00 00 40 00       	push   $0x400000
4108db:	e8 50 ff ff ff       	call   0x410830
4108e0:	83 c4 08             	add    $0x8,%esp
4108e3:	85 c0                	test   %eax,%eax
4108e5:	74 3a                	je     0x410921
4108e7:	8b 40 24             	mov    0x24(%eax),%eax
4108ea:	c1 e8 1f             	shr    $0x1f,%eax
4108ed:	f7 d0                	not    %eax
4108ef:	83 e0 01             	and    $0x1,%eax
4108f2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4108f9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4108fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410903:	59                   	pop    %ecx
410904:	5f                   	pop    %edi
410905:	5e                   	pop    %esi
410906:	5b                   	pop    %ebx
410907:	8b e5                	mov    %ebp,%esp
410909:	5d                   	pop    %ebp
41090a:	c3                   	ret
41090b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41090e:	8b 00                	mov    (%eax),%eax
410910:	33 c9                	xor    %ecx,%ecx
410912:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
410918:	0f 94 c1             	sete   %cl
41091b:	8b c1                	mov    %ecx,%eax
41091d:	c3                   	ret
41091e:	8b 65 e8             	mov    -0x18(%ebp),%esp
410921:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410928:	33 c0                	xor    %eax,%eax
41092a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41092d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410934:	59                   	pop    %ecx
410935:	5f                   	pop    %edi
410936:	5e                   	pop    %esi
410937:	5b                   	pop    %ebx
410938:	8b e5                	mov    %ebp,%esp
41093a:	5d                   	pop    %ebp
41093b:	c3                   	ret
41093c:	cc                   	int3
41093d:	cc                   	int3
41093e:	cc                   	int3
41093f:	cc                   	int3
410940:	8b ff                	mov    %edi,%edi
410942:	55                   	push   %ebp
410943:	8b ec                	mov    %esp,%ebp
410945:	8b 4d 08             	mov    0x8(%ebp),%ecx
410948:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
41094d:	66 39 01             	cmp    %ax,(%ecx)
410950:	75 1f                	jne    0x410971
410952:	8b 41 3c             	mov    0x3c(%ecx),%eax
410955:	03 c1                	add    %ecx,%eax
410957:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
41095d:	75 12                	jne    0x410971
41095f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
410964:	66 39 48 18          	cmp    %cx,0x18(%eax)
410968:	75 07                	jne    0x410971
41096a:	b8 01 00 00 00       	mov    $0x1,%eax
41096f:	5d                   	pop    %ebp
410970:	c3                   	ret
410971:	33 c0                	xor    %eax,%eax
410973:	5d                   	pop    %ebp
410974:	c3                   	ret
410975:	8b ff                	mov    %edi,%edi
410977:	55                   	push   %ebp
410978:	8b ec                	mov    %esp,%ebp
41097a:	83 ec 14             	sub    $0x14,%esp
41097d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
410981:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
410985:	a1 64 10 41 00       	mov    0x411064,%eax
41098a:	56                   	push   %esi
41098b:	57                   	push   %edi
41098c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
410991:	be 00 00 ff ff       	mov    $0xffff0000,%esi
410996:	3b c7                	cmp    %edi,%eax
410998:	74 04                	je     0x41099e
41099a:	85 c6                	test   %eax,%esi
41099c:	75 64                	jne    0x410a02
41099e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4109a1:	50                   	push   %eax
4109a2:	ff 15 68 33 43 00    	call   *0x433368
4109a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4109ab:	33 45 f4             	xor    -0xc(%ebp),%eax
4109ae:	89 45 fc             	mov    %eax,-0x4(%ebp)
4109b1:	ff 15 f0 30 43 00    	call   *0x4330f0
4109b7:	31 45 fc             	xor    %eax,-0x4(%ebp)
4109ba:	ff 15 50 31 43 00    	call   *0x433150
4109c0:	31 45 fc             	xor    %eax,-0x4(%ebp)
4109c3:	ff 15 6c 33 43 00    	call   *0x43336c
4109c9:	33 45 fc             	xor    -0x4(%ebp),%eax
4109cc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4109cf:	33 c1                	xor    %ecx,%eax
4109d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4109d4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4109d7:	50                   	push   %eax
4109d8:	ff 15 58 33 43 00    	call   *0x433358
4109de:	8b 45 f0             	mov    -0x10(%ebp),%eax
4109e1:	33 45 ec             	xor    -0x14(%ebp),%eax
4109e4:	33 45 fc             	xor    -0x4(%ebp),%eax
4109e7:	8b c8                	mov    %eax,%ecx
4109e9:	3b c7                	cmp    %edi,%eax
4109eb:	74 08                	je     0x4109f5
4109ed:	85 35 64 10 41 00    	test   %esi,0x411064
4109f3:	75 07                	jne    0x4109fc
4109f5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
4109fa:	8b c8                	mov    %eax,%ecx
4109fc:	89 0d 64 10 41 00    	mov    %ecx,0x411064
410a02:	f7 d0                	not    %eax
410a04:	5f                   	pop    %edi
410a05:	a3 68 10 41 00       	mov    %eax,0x411068
410a0a:	5e                   	pop    %esi
410a0b:	c9                   	leave
410a0c:	c3                   	ret
410a0d:	68 00 00 03 00       	push   $0x30000
410a12:	68 00 00 01 00       	push   $0x10000
410a17:	ff 15 88 33 43 00    	call   *0x433388
410a1d:	59                   	pop    %ecx
410a1e:	59                   	pop    %ecx
410a1f:	c3                   	ret
410a20:	ff 25 a8 33 43 00    	jmp    *0x4333a8
410a26:	cc                   	int3
410a27:	cc                   	int3
410a28:	68 90 0a 41 00       	push   $0x410a90
410a2d:	64 ff 35 00 00 00 00 	push   %fs:0x0
410a34:	8b 44 24 10          	mov    0x10(%esp),%eax
410a38:	89 6c 24 10          	mov    %ebp,0x10(%esp)
410a3c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
410a40:	2b e0                	sub    %eax,%esp
410a42:	53                   	push   %ebx
410a43:	56                   	push   %esi
410a44:	57                   	push   %edi
410a45:	a1 64 10 41 00       	mov    0x411064,%eax
410a4a:	31 45 fc             	xor    %eax,-0x4(%ebp)
410a4d:	33 c5                	xor    %ebp,%eax
410a4f:	50                   	push   %eax
410a50:	89 65 e8             	mov    %esp,-0x18(%ebp)
410a53:	ff 75 f8             	push   -0x8(%ebp)
410a56:	8b 45 fc             	mov    -0x4(%ebp),%eax
410a59:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
410a60:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a63:	8d 45 f0             	lea    -0x10(%ebp),%eax
410a66:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
410a6c:	c3                   	ret
410a6d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410a70:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410a77:	59                   	pop    %ecx
410a78:	5f                   	pop    %edi
410a79:	5f                   	pop    %edi
410a7a:	5e                   	pop    %esi
410a7b:	5b                   	pop    %ebx
410a7c:	8b e5                	mov    %ebp,%esp
410a7e:	5d                   	pop    %ebp
410a7f:	51                   	push   %ecx
410a80:	c3                   	ret
410a81:	cc                   	int3
410a82:	cc                   	int3
410a83:	cc                   	int3
410a84:	cc                   	int3
410a85:	cc                   	int3
410a86:	cc                   	int3
410a87:	cc                   	int3
410a88:	cc                   	int3
410a89:	cc                   	int3
410a8a:	cc                   	int3
410a8b:	cc                   	int3
410a8c:	cc                   	int3
410a8d:	cc                   	int3
410a8e:	cc                   	int3
410a8f:	cc                   	int3
410a90:	8b ff                	mov    %edi,%edi
410a92:	55                   	push   %ebp
410a93:	8b ec                	mov    %esp,%ebp
410a95:	ff 75 14             	push   0x14(%ebp)
410a98:	ff 75 10             	push   0x10(%ebp)
410a9b:	ff 75 0c             	push   0xc(%ebp)
410a9e:	ff 75 08             	push   0x8(%ebp)
410aa1:	68 30 04 41 00       	push   $0x410430
410aa6:	68 64 10 41 00       	push   $0x411064
410aab:	e8 17 00 00 00       	call   0x410ac7
410ab0:	83 c4 18             	add    $0x18,%esp
410ab3:	5d                   	pop    %ebp
410ab4:	c3                   	ret
410ab5:	ff 25 9c 33 43 00    	jmp    *0x43339c
410abb:	ff 25 98 33 43 00    	jmp    *0x433398
410ac1:	ff 25 94 33 43 00    	jmp    *0x433394
410ac7:	ff 25 84 33 43 00    	jmp    *0x433384
410acd:	cc                   	int3
410ace:	cc                   	int3
410acf:	cc                   	int3
410ad0:	51                   	push   %ecx
410ad1:	8d 4c 24 04          	lea    0x4(%esp),%ecx
410ad5:	2b c8                	sub    %eax,%ecx
410ad7:	1b c0                	sbb    %eax,%eax
410ad9:	f7 d0                	not    %eax
410adb:	23 c8                	and    %eax,%ecx
410add:	8b c4                	mov    %esp,%eax
410adf:	25 00 f0 ff ff       	and    $0xfffff000,%eax
410ae4:	3b c8                	cmp    %eax,%ecx
410ae6:	72 0a                	jb     0x410af2
410ae8:	8b c1                	mov    %ecx,%eax
410aea:	59                   	pop    %ecx
410aeb:	94                   	xchg   %eax,%esp
410aec:	8b 00                	mov    (%eax),%eax
410aee:	89 04 24             	mov    %eax,(%esp)
410af1:	c3                   	ret
410af2:	2d 00 10 00 00       	sub    $0x1000,%eax
410af7:	85 00                	test   %eax,(%eax)
410af9:	eb e9                	jmp    0x410ae4
410afb:	ff 25 c8 33 43 00    	jmp    *0x4333c8
410b01:	ff 25 bc 33 43 00    	jmp    *0x4333bc
410b07:	ff 25 00 34 43 00    	jmp    *0x433400
410b0d:	cc                   	int3
410b0e:	cc                   	int3
410b0f:	cc                   	int3
410b10:	8b 0d 50 10 41 00    	mov    0x411050,%ecx
410b16:	85 c9                	test   %ecx,%ecx
410b18:	0f 85 fe e9 ff ff    	jne    0x40f51c
410b1e:	c3                   	ret
410b1f:	cc                   	int3
410b20:	8b ff                	mov    %edi,%edi
410b22:	55                   	push   %ebp
410b23:	8b ec                	mov    %esp,%ebp
410b25:	51                   	push   %ecx
410b26:	53                   	push   %ebx
410b27:	c7 45 fc bc 26 43 00 	movl   $0x4326bc,-0x4(%ebp)
410b2e:	bb e4 26 43 00       	mov    $0x4326e4,%ebx
410b33:	56                   	push   %esi
410b34:	8b 75 fc             	mov    -0x4(%ebp),%esi
410b37:	3b f3                	cmp    %ebx,%esi
410b39:	74 26                	je     0x410b61
410b3b:	57                   	push   %edi
410b3c:	8b 3e                	mov    (%esi),%edi
410b3e:	eb 13                	jmp    0x410b53
410b40:	57                   	push   %edi
410b41:	8b 7f 04             	mov    0x4(%edi),%edi
410b44:	6a 00                	push   $0x0