42a724:	8b f8                	mov    %eax,%edi
42a726:	a1 a8 51 45 00       	mov    0x4551a8,%eax
42a72b:	83 f8 ff             	cmp    $0xffffffff,%eax
42a72e:	74 1a                	je     0x42a74a
42a730:	50                   	push   %eax
42a731:	e8 02 2f 00 00       	call   0x42d638
42a736:	85 c0                	test   %eax,%eax
42a738:	74 0b                	je     0x42a745
42a73a:	8d 58 01             	lea    0x1(%eax),%ebx
42a73d:	f7 db                	neg    %ebx
42a73f:	1b db                	sbb    %ebx,%ebx
42a741:	23 d8                	and    %eax,%ebx
42a743:	eb 7a                	jmp    0x42a7bf
42a745:	a1 a8 51 45 00       	mov    0x4551a8,%eax
42a74a:	6a ff                	push   $0xffffffff
42a74c:	50                   	push   %eax
42a74d:	e8 25 2f 00 00       	call   0x42d677
42a752:	85 c0                	test   %eax,%eax
42a754:	75 04                	jne    0x42a75a
42a756:	33 db                	xor    %ebx,%ebx
42a758:	eb 65                	jmp    0x42a7bf
42a75a:	56                   	push   %esi
42a75b:	68 64 03 00 00       	push   $0x364
42a760:	6a 01                	push   $0x1
42a762:	e8 b3 29 00 00       	call   0x42d11a
42a767:	8b f0                	mov    %eax,%esi
42a769:	59                   	pop    %ecx
42a76a:	59                   	pop    %ecx
42a76b:	85 f6                	test   %esi,%esi
42a76d:	75 11                	jne    0x42a780
42a76f:	33 db                	xor    %ebx,%ebx
42a771:	53                   	push   %ebx
42a772:	ff 35 a8 51 45 00    	push   0x4551a8
42a778:	e8 fa 2e 00 00       	call   0x42d677
42a77d:	53                   	push   %ebx
42a77e:	eb 1f                	jmp    0x42a79f
42a780:	56                   	push   %esi
42a781:	ff 35 a8 51 45 00    	push   0x4551a8
42a787:	e8 eb 2e 00 00       	call   0x42d677
42a78c:	85 c0                	test   %eax,%eax
42a78e:	75 17                	jne    0x42a7a7
42a790:	33 db                	xor    %ebx,%ebx
42a792:	53                   	push   %ebx
42a793:	ff 35 a8 51 45 00    	push   0x4551a8
42a799:	e8 d9 2e 00 00       	call   0x42d677
42a79e:	56                   	push   %esi
42a79f:	e8 16 01 00 00       	call   0x42a8ba
42a7a4:	59                   	pop    %ecx
42a7a5:	eb 17                	jmp    0x42a7be
42a7a7:	68 a8 6d 45 00       	push   $0x456da8
42a7ac:	56                   	push   %esi
42a7ad:	e8 37 fc ff ff       	call   0x42a3e9
42a7b2:	6a 00                	push   $0x0
42a7b4:	e8 01 01 00 00       	call   0x42a8ba
42a7b9:	83 c4 0c             	add    $0xc,%esp
42a7bc:	8b de                	mov    %esi,%ebx
42a7be:	5e                   	pop    %esi
42a7bf:	57                   	push   %edi
42a7c0:	ff 15 38 e1 43 00    	call   *0x43e138
42a7c6:	5f                   	pop    %edi
42a7c7:	8b c3                	mov    %ebx,%eax
42a7c9:	5b                   	pop    %ebx
42a7ca:	c3                   	ret
42a7cb:	8b ff                	mov    %edi,%edi
42a7cd:	55                   	push   %ebp
42a7ce:	8b ec                	mov    %esp,%ebp
42a7d0:	a1 a8 51 45 00       	mov    0x4551a8,%eax
42a7d5:	56                   	push   %esi
42a7d6:	57                   	push   %edi
42a7d7:	33 ff                	xor    %edi,%edi
42a7d9:	83 f8 ff             	cmp    $0xffffffff,%eax
42a7dc:	74 18                	je     0x42a7f6
42a7de:	50                   	push   %eax
42a7df:	e8 54 2e 00 00       	call   0x42d638
42a7e4:	8b f0                	mov    %eax,%esi
42a7e6:	85 f6                	test   %esi,%esi
42a7e8:	74 07                	je     0x42a7f1
42a7ea:	83 fe ff             	cmp    $0xffffffff,%esi
42a7ed:	74 79                	je     0x42a868
42a7ef:	eb 6e                	jmp    0x42a85f
42a7f1:	a1 a8 51 45 00       	mov    0x4551a8,%eax
42a7f6:	6a ff                	push   $0xffffffff
42a7f8:	50                   	push   %eax
42a7f9:	e8 79 2e 00 00       	call   0x42d677
42a7fe:	85 c0                	test   %eax,%eax
42a800:	74 66                	je     0x42a868
42a802:	68 64 03 00 00       	push   $0x364
42a807:	6a 01                	push   $0x1
42a809:	e8 0c 29 00 00       	call   0x42d11a
42a80e:	8b f0                	mov    %eax,%esi
42a810:	59                   	pop    %ecx
42a811:	59                   	pop    %ecx
42a812:	85 f6                	test   %esi,%esi
42a814:	75 15                	jne    0x42a82b
42a816:	57                   	push   %edi
42a817:	ff 35 a8 51 45 00    	push   0x4551a8
42a81d:	e8 55 2e 00 00       	call   0x42d677
42a822:	57                   	push   %edi
42a823:	e8 92 00 00 00       	call   0x42a8ba
42a828:	59                   	pop    %ecx
42a829:	eb 3d                	jmp    0x42a868
42a82b:	56                   	push   %esi
42a82c:	ff 35 a8 51 45 00    	push   0x4551a8
42a832:	e8 40 2e 00 00       	call   0x42d677
42a837:	85 c0                	test   %eax,%eax
42a839:	75 0f                	jne    0x42a84a
42a83b:	57                   	push   %edi
42a83c:	ff 35 a8 51 45 00    	push   0x4551a8
42a842:	e8 30 2e 00 00       	call   0x42d677
42a847:	56                   	push   %esi
42a848:	eb d9                	jmp    0x42a823
42a84a:	68 a8 6d 45 00       	push   $0x456da8
42a84f:	56                   	push   %esi
42a850:	e8 94 fb ff ff       	call   0x42a3e9
42a855:	6a 00                	push   $0x0
42a857:	e8 5e 00 00 00       	call   0x42a8ba
42a85c:	83 c4 0c             	add    $0xc,%esp
42a85f:	69 7d 0c 64 03 00 00 	imul   $0x364,0xc(%ebp),%edi
42a866:	03 fe                	add    %esi,%edi
42a868:	8b c7                	mov    %edi,%eax
42a86a:	5f                   	pop    %edi
42a86b:	5e                   	pop    %esi
42a86c:	5d                   	pop    %ebp
42a86d:	c3                   	ret
42a86e:	cc                   	int3
42a86f:	cc                   	int3
42a870:	68 90 a4 42 00       	push   $0x42a490
42a875:	e8 40 2d 00 00       	call   0x42d5ba
42a87a:	a3 a8 51 45 00       	mov    %eax,0x4551a8
42a87f:	83 f8 ff             	cmp    $0xffffffff,%eax
42a882:	75 03                	jne    0x42a887
42a884:	32 c0                	xor    %al,%al
42a886:	c3                   	ret
42a887:	e8 8e fe ff ff       	call   0x42a71a
42a88c:	85 c0                	test   %eax,%eax
42a88e:	75 09                	jne    0x42a899
42a890:	50                   	push   %eax
42a891:	e8 0a 00 00 00       	call   0x42a8a0
42a896:	59                   	pop    %ecx
42a897:	eb eb                	jmp    0x42a884
42a899:	b0 01                	mov    $0x1,%al
42a89b:	c3                   	ret
42a89c:	cc                   	int3
42a89d:	cc                   	int3
42a89e:	cc                   	int3
42a89f:	cc                   	int3
42a8a0:	a1 a8 51 45 00       	mov    0x4551a8,%eax
42a8a5:	83 f8 ff             	cmp    $0xffffffff,%eax
42a8a8:	74 0d                	je     0x42a8b7
42a8aa:	50                   	push   %eax
42a8ab:	e8 49 2d 00 00       	call   0x42d5f9
42a8b0:	83 0d a8 51 45 00 ff 	orl    $0xffffffff,0x4551a8
42a8b7:	b0 01                	mov    $0x1,%al
42a8b9:	c3                   	ret
42a8ba:	8b ff                	mov    %edi,%edi
42a8bc:	55                   	push   %ebp
42a8bd:	8b ec                	mov    %esp,%ebp
42a8bf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a8c3:	74 2d                	je     0x42a8f2
42a8c5:	ff 75 08             	push   0x8(%ebp)
42a8c8:	6a 00                	push   $0x0
42a8ca:	ff 35 a8 71 45 00    	push   0x4571a8
42a8d0:	ff 15 54 e0 43 00    	call   *0x43e054
42a8d6:	85 c0                	test   %eax,%eax
42a8d8:	75 18                	jne    0x42a8f2
42a8da:	56                   	push   %esi
42a8db:	ff 15 6c e0 43 00    	call   *0x43e06c
42a8e1:	50                   	push   %eax
42a8e2:	e8 ac 90 ff ff       	call   0x423993
42a8e7:	59                   	pop    %ecx
42a8e8:	8b f0                	mov    %eax,%esi
42a8ea:	e8 41 91 ff ff       	call   0x423a30
42a8ef:	89 30                	mov    %esi,(%eax)
42a8f1:	5e                   	pop    %esi
42a8f2:	5d                   	pop    %ebp
42a8f3:	c3                   	ret
42a8f4:	8b ff                	mov    %edi,%edi
42a8f6:	55                   	push   %ebp
42a8f7:	8b ec                	mov    %esp,%ebp
42a8f9:	56                   	push   %esi
42a8fa:	8b 75 08             	mov    0x8(%ebp),%esi
42a8fd:	83 fe e0             	cmp    $0xffffffe0,%esi
42a900:	77 30                	ja     0x42a932
42a902:	85 f6                	test   %esi,%esi
42a904:	75 17                	jne    0x42a91d
42a906:	46                   	inc    %esi
42a907:	eb 14                	jmp    0x42a91d
42a909:	e8 c3 f1 ff ff       	call   0x429ad1
42a90e:	85 c0                	test   %eax,%eax
42a910:	74 20                	je     0x42a932
42a912:	56                   	push   %esi
42a913:	e8 04 f2 ff ff       	call   0x429b1c
42a918:	59                   	pop    %ecx
42a919:	85 c0                	test   %eax,%eax
42a91b:	74 15                	je     0x42a932
42a91d:	56                   	push   %esi
42a91e:	6a 00                	push   $0x0
42a920:	ff 35 a8 71 45 00    	push   0x4571a8
42a926:	ff 15 4c e0 43 00    	call   *0x43e04c
42a92c:	85 c0                	test   %eax,%eax
42a92e:	74 d9                	je     0x42a909
42a930:	eb 0d                	jmp    0x42a93f
42a932:	e8 f9 90 ff ff       	call   0x423a30
42a937:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42a93d:	33 c0                	xor    %eax,%eax
42a93f:	5e                   	pop    %esi
42a940:	5d                   	pop    %ebp
42a941:	c3                   	ret
42a942:	8b ff                	mov    %edi,%edi
42a944:	55                   	push   %ebp
42a945:	8b ec                	mov    %esp,%ebp
42a947:	8b 45 08             	mov    0x8(%ebp),%eax
42a94a:	33 c9                	xor    %ecx,%ecx
42a94c:	56                   	push   %esi
42a94d:	57                   	push   %edi
42a94e:	be ff 07 00 00       	mov    $0x7ff,%esi
42a953:	8b 38                	mov    (%eax),%edi
42a955:	8b 50 04             	mov    0x4(%eax),%edx
42a958:	8b c2                	mov    %edx,%eax
42a95a:	c1 e8 14             	shr    $0x14,%eax
42a95d:	23 c6                	and    %esi,%eax
42a95f:	3b c6                	cmp    %esi,%eax
42a961:	75 3b                	jne    0x42a99e
42a963:	8b f2                	mov    %edx,%esi
42a965:	8b c7                	mov    %edi,%eax
42a967:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
42a96d:	0b c6                	or     %esi,%eax
42a96f:	75 03                	jne    0x42a974
42a971:	40                   	inc    %eax
42a972:	eb 2c                	jmp    0x42a9a0
42a974:	b8 00 00 08 00       	mov    $0x80000,%eax
42a979:	3b d1                	cmp    %ecx,%edx
42a97b:	7f 13                	jg     0x42a990
42a97d:	7c 04                	jl     0x42a983
42a97f:	3b f9                	cmp    %ecx,%edi
42a981:	73 0d                	jae    0x42a990
42a983:	3b f9                	cmp    %ecx,%edi
42a985:	75 09                	jne    0x42a990
42a987:	3b f0                	cmp    %eax,%esi
42a989:	75 05                	jne    0x42a990
42a98b:	6a 04                	push   $0x4
42a98d:	58                   	pop    %eax
42a98e:	eb 10                	jmp    0x42a9a0
42a990:	23 d0                	and    %eax,%edx
42a992:	0b ca                	or     %edx,%ecx
42a994:	74 04                	je     0x42a99a
42a996:	6a 02                	push   $0x2
42a998:	eb f3                	jmp    0x42a98d
42a99a:	6a 03                	push   $0x3
42a99c:	eb ef                	jmp    0x42a98d
42a99e:	33 c0                	xor    %eax,%eax
42a9a0:	5f                   	pop    %edi
42a9a1:	5e                   	pop    %esi
42a9a2:	5d                   	pop    %ebp
42a9a3:	c3                   	ret
42a9a4:	8b ff                	mov    %edi,%edi
42a9a6:	55                   	push   %ebp
42a9a7:	8b ec                	mov    %esp,%ebp
42a9a9:	8b 45 08             	mov    0x8(%ebp),%eax
42a9ac:	53                   	push   %ebx
42a9ad:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
42a9b1:	56                   	push   %esi
42a9b2:	8b 70 04             	mov    0x4(%eax),%esi
42a9b5:	8b cb                	mov    %ebx,%ecx
42a9b7:	57                   	push   %edi
42a9b8:	8b 38                	mov    (%eax),%edi
42a9ba:	8b d6                	mov    %esi,%edx
42a9bc:	23 55 10             	and    0x10(%ebp),%edx
42a9bf:	8b c7                	mov    %edi,%eax
42a9c1:	23 45 0c             	and    0xc(%ebp),%eax
42a9c4:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42a9ca:	e8 91 f8 00 00       	call   0x43a260
42a9cf:	6a 08                	push   $0x8
42a9d1:	0f b7 c0             	movzwl %ax,%eax
42a9d4:	59                   	pop    %ecx
42a9d5:	66 3b c1             	cmp    %cx,%ax
42a9d8:	77 66                	ja     0x42aa40
42a9da:	73 04                	jae    0x42a9e0
42a9dc:	32 c0                	xor    %al,%al
42a9de:	eb 62                	jmp    0x42aa42
42a9e0:	33 c0                	xor    %eax,%eax
42a9e2:	33 d2                	xor    %edx,%edx
42a9e4:	40                   	inc    %eax
42a9e5:	8b cb                	mov    %ebx,%ecx
42a9e7:	e8 54 f8 00 00       	call   0x43a240
42a9ec:	83 c0 ff             	add    $0xffffffff,%eax
42a9ef:	83 d2 ff             	adc    $0xffffffff,%edx
42a9f2:	23 c7                	and    %edi,%eax
42a9f4:	23 d6                	and    %esi,%edx
42a9f6:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
42a9fc:	0b c2                	or     %edx,%eax
42a9fe:	75 40                	jne    0x42aa40
42aa00:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
42aa05:	74 22                	je     0x42aa29
42aa07:	0f ac f7 04          	shrd   $0x4,%esi,%edi
42aa0b:	8b cb                	mov    %ebx,%ecx
42aa0d:	23 7d 0c             	and    0xc(%ebp),%edi
42aa10:	c1 ee 04             	shr    $0x4,%esi
42aa13:	8b c7                	mov    %edi,%eax
42aa15:	23 75 10             	and    0x10(%ebp),%esi
42aa18:	81 e6 ff ff 00 00    	and    $0xffff,%esi
42aa1e:	8b d6                	mov    %esi,%edx
42aa20:	e8 3b f8 00 00       	call   0x43a260
42aa25:	8a c8                	mov    %al,%cl
42aa27:	eb 10                	jmp    0x42aa39
42aa29:	33 c9                	xor    %ecx,%ecx
42aa2b:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
42aa31:	8b c1                	mov    %ecx,%eax
42aa33:	0b c6                	or     %esi,%eax
42aa35:	74 02                	je     0x42aa39
42aa37:	b1 01                	mov    $0x1,%cl
42aa39:	80 e1 01             	and    $0x1,%cl
42aa3c:	8a c1                	mov    %cl,%al
42aa3e:	eb 02                	jmp    0x42aa42
42aa40:	b0 01                	mov    $0x1,%al
42aa42:	5f                   	pop    %edi
42aa43:	5e                   	pop    %esi
42aa44:	5b                   	pop    %ebx
42aa45:	5d                   	pop    %ebp
42aa46:	c3                   	ret
42aa47:	8b ff                	mov    %edi,%edi
42aa49:	55                   	push   %ebp
42aa4a:	8b ec                	mov    %esp,%ebp
42aa4c:	83 ec 2c             	sub    $0x2c,%esp
42aa4f:	33 d2                	xor    %edx,%edx
42aa51:	56                   	push   %esi
42aa52:	8b 75 1c             	mov    0x1c(%ebp),%esi
42aa55:	57                   	push   %edi
42aa56:	85 f6                	test   %esi,%esi
42aa58:	79 02                	jns    0x42aa5c
42aa5a:	8b f2                	mov    %edx,%esi
42aa5c:	8b 7d 0c             	mov    0xc(%ebp),%edi
42aa5f:	8d 46 0b             	lea    0xb(%esi),%eax
42aa62:	88 17                	mov    %dl,(%edi)
42aa64:	39 45 10             	cmp    %eax,0x10(%ebp)
42aa67:	77 22                	ja     0x42aa8b
42aa69:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
42aa6c:	6a 22                	push   $0x22
42aa6e:	5e                   	pop    %esi
42aa6f:	51                   	push   %ecx
42aa70:	52                   	push   %edx
42aa71:	52                   	push   %edx
42aa72:	52                   	push   %edx
42aa73:	52                   	push   %edx
42aa74:	52                   	push   %edx
42aa75:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
42aa79:	89 71 18             	mov    %esi,0x18(%ecx)
42aa7c:	e8 85 4e ff ff       	call   0x41f906
42aa81:	83 c4 18             	add    $0x18,%esp
42aa84:	8b c6                	mov    %esi,%eax