43986b:	8b 44 24 0c          	mov    0xc(%esp),%eax
43986f:	83 c4 10             	add    $0x10,%esp
439872:	5b                   	pop    %ebx
439873:	c3                   	ret
439874:	53                   	push   %ebx
439875:	56                   	push   %esi
439876:	83 c4 f8             	add    $0xfffffff8,%esp
439879:	8b f2                	mov    %edx,%esi
43987b:	8b d8                	mov    %eax,%ebx
43987d:	8b c3                	mov    %ebx,%eax
43987f:	e8 94 ff ff ff       	call   0x439818
439884:	8b cc                	mov    %esp,%ecx
439886:	8b d6                	mov    %esi,%edx
439888:	e8 63 ce fd ff       	call   0x4166f0
43988d:	8b d4                	mov    %esp,%edx
43988f:	8b c3                	mov    %ebx,%eax
439891:	e8 92 04 00 00       	call   0x439d28
439896:	59                   	pop    %ecx
439897:	5a                   	pop    %edx
439898:	5e                   	pop    %esi
439899:	5b                   	pop    %ebx
43989a:	c3                   	ret
43989b:	90                   	nop
43989c:	55                   	push   %ebp
43989d:	8b ec                	mov    %esp,%ebp
43989f:	83 c4 f4             	add    $0xfffffff4,%esp
4398a2:	53                   	push   %ebx
4398a3:	56                   	push   %esi
4398a4:	33 c9                	xor    %ecx,%ecx
4398a6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4398a9:	8b f2                	mov    %edx,%esi
4398ab:	8b d8                	mov    %eax,%ebx
4398ad:	33 c0                	xor    %eax,%eax
4398af:	55                   	push   %ebp
4398b0:	68 1d 99 43 00       	push   $0x43991d
4398b5:	64 ff 30             	push   %fs:(%eax)
4398b8:	64 89 20             	mov    %esp,%fs:(%eax)
4398bb:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
4398bf:	75 31                	jne    0x4398f2
4398c1:	8b 43 08             	mov    0x8(%ebx),%eax
4398c4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4398c7:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4398cb:	8d 45 f8             	lea    -0x8(%ebp),%eax
4398ce:	50                   	push   %eax
4398cf:	6a 00                	push   $0x0
4398d1:	8d 55 f4             	lea    -0xc(%ebp),%edx
4398d4:	a1 c0 d6 46 00       	mov    0x46d6c0,%eax
4398d9:	e8 26 cd fc ff       	call   0x406604
4398de:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4398e1:	b2 01                	mov    $0x1,%dl
4398e3:	a1 64 57 41 00       	mov    0x415764,%eax
4398e8:	e8 8b 29 fd ff       	call   0x40c278
4398ed:	e8 76 a8 fc ff       	call   0x404168
4398f2:	8b d6                	mov    %esi,%edx
4398f4:	8b 43 30             	mov    0x30(%ebx),%eax
4398f7:	8b 08                	mov    (%eax),%ecx
4398f9:	ff 51 40             	call   *0x40(%ecx)
4398fc:	8b 43 40             	mov    0x40(%ebx),%eax
4398ff:	01 06                	add    %eax,(%esi)
439901:	8b 43 44             	mov    0x44(%ebx),%eax
439904:	01 46 04             	add    %eax,0x4(%esi)
439907:	33 c0                	xor    %eax,%eax
439909:	5a                   	pop    %edx
43990a:	59                   	pop    %ecx
43990b:	59                   	pop    %ecx
43990c:	64 89 10             	mov    %edx,%fs:(%eax)
43990f:	68 24 99 43 00       	push   $0x439924
439914:	8d 45 f4             	lea    -0xc(%ebp),%eax
439917:	e8 04 ae fc ff       	call   0x404720
43991c:	c3                   	ret
43991d:	e9 66 a7 fc ff       	jmp    0x404088
439922:	eb f0                	jmp    0x439914
439924:	5e                   	pop    %esi
439925:	5b                   	pop    %ebx
439926:	8b e5                	mov    %ebp,%esp
439928:	5d                   	pop    %ebp
439929:	c3                   	ret
43992a:	8b c0                	mov    %eax,%eax
43992c:	53                   	push   %ebx
43992d:	56                   	push   %esi
43992e:	57                   	push   %edi
43992f:	83 c4 f8             	add    $0xfffffff8,%esp
439932:	8b f9                	mov    %ecx,%edi
439934:	8b f2                	mov    %edx,%esi
439936:	8b d8                	mov    %eax,%ebx
439938:	8b d4                	mov    %esp,%edx
43993a:	8b c3                	mov    %ebx,%eax
43993c:	8b 08                	mov    (%eax),%ecx
43993e:	ff 51 40             	call   *0x40(%ecx)
439941:	8b 06                	mov    (%esi),%eax
439943:	03 04 24             	add    (%esp),%eax
439946:	89 07                	mov    %eax,(%edi)
439948:	8b 46 04             	mov    0x4(%esi),%eax
43994b:	03 44 24 04          	add    0x4(%esp),%eax
43994f:	89 47 04             	mov    %eax,0x4(%edi)
439952:	59                   	pop    %ecx
439953:	5a                   	pop    %edx
439954:	5f                   	pop    %edi
439955:	5e                   	pop    %esi
439956:	5b                   	pop    %ebx
439957:	c3                   	ret
439958:	53                   	push   %ebx
439959:	56                   	push   %esi
43995a:	57                   	push   %edi
43995b:	55                   	push   %ebp
43995c:	8b f9                	mov    %ecx,%edi
43995e:	8b f2                	mov    %edx,%esi
439960:	8b 58 74             	mov    0x74(%eax),%ebx
439963:	8b 6b 14             	mov    0x14(%ebx),%ebp
439966:	85 ed                	test   %ebp,%ebp
439968:	76 16                	jbe    0x439980
43996a:	57                   	push   %edi
43996b:	56                   	push   %esi
43996c:	55                   	push   %ebp
43996d:	e8 fe d0 fc ff       	call   0x406a70
439972:	8b c8                	mov    %eax,%ecx
439974:	ba 03 00 00 00       	mov    $0x3,%edx
439979:	8b c3                	mov    %ebx,%eax
43997b:	e8 90 ee ff ff       	call   0x438810
439980:	8b 6b 0c             	mov    0xc(%ebx),%ebp
439983:	85 ed                	test   %ebp,%ebp
439985:	76 16                	jbe    0x43999d
439987:	57                   	push   %edi
439988:	56                   	push   %esi
439989:	55                   	push   %ebp
43998a:	e8 e1 d0 fc ff       	call   0x406a70
43998f:	8b c8                	mov    %eax,%ecx
439991:	ba 01 00 00 00       	mov    $0x1,%edx
439996:	8b c3                	mov    %ebx,%eax
439998:	e8 73 ee ff ff       	call   0x438810
43999d:	8b 6b 10             	mov    0x10(%ebx),%ebp
4399a0:	85 ed                	test   %ebp,%ebp
4399a2:	76 16                	jbe    0x4399ba
4399a4:	57                   	push   %edi
4399a5:	56                   	push   %esi
4399a6:	55                   	push   %ebp
4399a7:	e8 c4 d0 fc ff       	call   0x406a70
4399ac:	8b c8                	mov    %eax,%ecx
4399ae:	ba 02 00 00 00       	mov    $0x2,%edx
4399b3:	8b c3                	mov    %ebx,%eax
4399b5:	e8 56 ee ff ff       	call   0x438810
4399ba:	8b 6b 08             	mov    0x8(%ebx),%ebp
4399bd:	85 ed                	test   %ebp,%ebp
4399bf:	76 13                	jbe    0x4399d4
4399c1:	57                   	push   %edi
4399c2:	56                   	push   %esi
4399c3:	55                   	push   %ebp
4399c4:	e8 a7 d0 fc ff       	call   0x406a70
4399c9:	8b c8                	mov    %eax,%ecx
4399cb:	33 d2                	xor    %edx,%edx
4399cd:	8b c3                	mov    %ebx,%eax
4399cf:	e8 3c ee ff ff       	call   0x438810
4399d4:	5d                   	pop    %ebp
4399d5:	5f                   	pop    %edi
4399d6:	5e                   	pop    %esi
4399d7:	5b                   	pop    %ebx
4399d8:	c3                   	ret
4399d9:	8d 40 00             	lea    0x0(%eax),%eax
4399dc:	53                   	push   %ebx
4399dd:	56                   	push   %esi
4399de:	57                   	push   %edi
4399df:	83 c4 f8             	add    $0xfffffff8,%esp
4399e2:	8b f9                	mov    %ecx,%edi
4399e4:	8b f2                	mov    %edx,%esi
4399e6:	8b d8                	mov    %eax,%ebx
4399e8:	8b d4                	mov    %esp,%edx
4399ea:	8b c3                	mov    %ebx,%eax
4399ec:	8b 08                	mov    (%eax),%ecx
4399ee:	ff 51 40             	call   *0x40(%ecx)
4399f1:	8b 06                	mov    (%esi),%eax
4399f3:	2b 04 24             	sub    (%esp),%eax
4399f6:	89 07                	mov    %eax,(%edi)
4399f8:	8b 46 04             	mov    0x4(%esi),%eax
4399fb:	2b 44 24 04          	sub    0x4(%esp),%eax
4399ff:	89 47 04             	mov    %eax,0x4(%edi)
439a02:	59                   	pop    %ecx
439a03:	5a                   	pop    %edx
439a04:	5f                   	pop    %edi
439a05:	5e                   	pop    %esi
439a06:	5b                   	pop    %ebx
439a07:	c3                   	ret
439a08:	53                   	push   %ebx
439a09:	56                   	push   %esi
439a0a:	8b f2                	mov    %edx,%esi
439a0c:	8b d8                	mov    %eax,%ebx
439a0e:	85 db                	test   %ebx,%ebx
439a10:	74 21                	je     0x439a33
439a12:	8b c3                	mov    %ebx,%eax
439a14:	8b 15 a0 a7 44 00    	mov    0x44a7a0,%edx
439a1a:	e8 61 a0 fc ff       	call   0x403a80
439a1f:	84 c0                	test   %al,%al
439a21:	74 09                	je     0x439a2c
439a23:	8b d6                	mov    %esi,%edx
439a25:	8b c3                	mov    %ebx,%eax
439a27:	e8 0c 76 01 00       	call   0x451038
439a2c:	8b 5b 30             	mov    0x30(%ebx),%ebx
439a2f:	85 db                	test   %ebx,%ebx
439a31:	75 df                	jne    0x439a12
439a33:	5e                   	pop    %esi
439a34:	5b                   	pop    %ebx
439a35:	c3                   	ret
439a36:	8b c0                	mov    %eax,%eax
439a38:	55                   	push   %ebp
439a39:	8b ec                	mov    %esp,%ebp
439a3b:	83 c4 f0             	add    $0xfffffff0,%esp
439a3e:	53                   	push   %ebx
439a3f:	56                   	push   %esi
439a40:	57                   	push   %edi
439a41:	89 4d fc             	mov    %ecx,-0x4(%ebp)
439a44:	8b fa                	mov    %edx,%edi
439a46:	8b d8                	mov    %eax,%ebx
439a48:	8b b3 94 00 00 00    	mov    0x94(%ebx),%esi
439a4e:	85 f6                	test   %esi,%esi
439a50:	74 41                	je     0x439a93
439a52:	83 3d 14 15 47 00 00 	cmpl   $0x0,0x471514
439a59:	75 38                	jne    0x439a93
439a5b:	0f b7 05 9c 9a 43 00 	movzwl 0x439a9c,%eax
439a62:	66 23 43 1c          	and    0x1c(%ebx),%ax
439a66:	0f b7 15 a0 9a 43 00 	movzwl 0x439aa0,%edx
439a6d:	66 3b d0             	cmp    %ax,%dx
439a70:	75 21                	jne    0x439a93
439a72:	89 7d f0             	mov    %edi,-0x10(%ebp)
439a75:	8b 45 fc             	mov    -0x4(%ebp),%eax
439a78:	89 45 f4             	mov    %eax,-0xc(%ebp)
439a7b:	8b 45 08             	mov    0x8(%ebp),%eax
439a7e:	89 45 f8             	mov    %eax,-0x8(%ebp)
439a81:	8d 45 f0             	lea    -0x10(%ebp),%eax
439a84:	50                   	push   %eax
439a85:	8b cb                	mov    %ebx,%ecx
439a87:	ba 42 b0 00 00       	mov    $0xb042,%edx
439a8c:	8b c6                	mov    %esi,%eax
439a8e:	e8 89 16 00 00       	call   0x43b11c
439a93:	5f                   	pop    %edi
439a94:	5e                   	pop    %esi
439a95:	5b                   	pop    %ebx
439a96:	8b e5                	mov    %ebp,%esp
439a98:	5d                   	pop    %ebp
439a99:	c2 04 00             	ret    $0x4
439a9c:	09 00                	or     %eax,(%eax)
439a9e:	00 00                	add    %al,(%eax)
439aa0:	00 00                	add    %al,(%eax)
439aa2:	00 00                	add    %al,(%eax)
439aa4:	53                   	push   %ebx
439aa5:	56                   	push   %esi
439aa6:	57                   	push   %edi
439aa7:	55                   	push   %ebp
439aa8:	83 c4 f0             	add    $0xfffffff0,%esp
439aab:	89 0c 24             	mov    %ecx,(%esp)
439aae:	8b fa                	mov    %edx,%edi
439ab0:	8b f0                	mov    %eax,%esi
439ab2:	3b 3c 24             	cmp    (%esp),%edi
439ab5:	0f 84 87 01 00 00    	je     0x439c42
439abb:	f6 46 1c 01          	testb  $0x1,0x1c(%esi)
439abf:	74 09                	je     0x439aca
439ac1:	0f b6 9e 8c 00 00 00 	movzbl 0x8c(%esi),%ebx
439ac8:	eb 07                	jmp    0x439ad1
439aca:	0f b6 1d 58 9c 43 00 	movzbl 0x439c58,%ebx
439ad1:	f6 c3 01             	test   $0x1,%bl
439ad4:	74 12                	je     0x439ae8
439ad6:	8b 04 24             	mov    (%esp),%eax
439ad9:	50                   	push   %eax
439ada:	57                   	push   %edi
439adb:	8b 46 40             	mov    0x40(%esi),%eax
439ade:	50                   	push   %eax
439adf:	e8 8c cf fc ff       	call   0x406a70
439ae4:	8b e8                	mov    %eax,%ebp
439ae6:	eb 03                	jmp    0x439aeb
439ae8:	8b 6e 40             	mov    0x40(%esi),%ebp
439aeb:	f6 c3 02             	test   $0x2,%bl
439aee:	74 14                	je     0x439b04
439af0:	8b 04 24             	mov    (%esp),%eax
439af3:	50                   	push   %eax
439af4:	57                   	push   %edi
439af5:	8b 46 44             	mov    0x44(%esi),%eax
439af8:	50                   	push   %eax
439af9:	e8 72 cf fc ff       	call   0x406a70
439afe:	89 44 24 04          	mov    %eax,0x4(%esp)
439b02:	eb 07                	jmp    0x439b0b
439b04:	8b 46 44             	mov    0x44(%esi),%eax
439b07:	89 44 24 04          	mov    %eax,0x4(%esp)
439b0b:	f6 c3 04             	test   $0x4,%bl
439b0e:	74 38                	je     0x439b48
439b10:	f6 46 51 01          	testb  $0x1,0x51(%esi)
439b14:	75 32                	jne    0x439b48
439b16:	f6 c3 01             	test   $0x1,%bl
439b19:	74 19                	je     0x439b34
439b1b:	8b 04 24             	mov    (%esp),%eax
439b1e:	50                   	push   %eax
439b1f:	57                   	push   %edi
439b20:	8b 46 40             	mov    0x40(%esi),%eax
439b23:	03 46 48             	add    0x48(%esi),%eax
439b26:	50                   	push   %eax
439b27:	e8 44 cf fc ff       	call   0x406a70
439b2c:	2b c5                	sub    %ebp,%eax
439b2e:	89 44 24 08          	mov    %eax,0x8(%esp)
439b32:	eb 1b                	jmp    0x439b4f
439b34:	8b 04 24             	mov    (%esp),%eax
439b37:	50                   	push   %eax
439b38:	57                   	push   %edi
439b39:	8b 46 48             	mov    0x48(%esi),%eax
439b3c:	50                   	push   %eax
439b3d:	e8 2e cf fc ff       	call   0x406a70
439b42:	89 44 24 08          	mov    %eax,0x8(%esp)
439b46:	eb 07                	jmp    0x439b4f
439b48:	8b 46 48             	mov    0x48(%esi),%eax
439b4b:	89 44 24 08          	mov    %eax,0x8(%esp)
439b4f:	f6 c3 08             	test   $0x8,%bl
439b52:	0f 95 c0             	setne  %al
439b55:	84 c0                	test   %al,%al
439b57:	74 3f                	je     0x439b98
439b59:	f6 46 51 02          	testb  $0x2,0x51(%esi)
439b5d:	75 39                	jne    0x439b98
439b5f:	f6 c3 08             	test   $0x8,%bl
439b62:	0f 95 c2             	setne  %dl
439b65:	84 c0                	test   %al,%al
439b67:	74 1b                	je     0x439b84
439b69:	8b 04 24             	mov    (%esp),%eax
439b6c:	50                   	push   %eax
439b6d:	57                   	push   %edi
439b6e:	8b 46 44             	mov    0x44(%esi),%eax
439b71:	03 46 4c             	add    0x4c(%esi),%eax
439b74:	50                   	push   %eax
439b75:	e8 f6 ce fc ff       	call   0x406a70
439b7a:	2b 44 24 04          	sub    0x4(%esp),%eax
439b7e:	89 44 24 0c          	mov    %eax,0xc(%esp)
439b82:	eb 1b                	jmp    0x439b9f
439b84:	8b 04 24             	mov    (%esp),%eax
439b87:	50                   	push   %eax
439b88:	57                   	push   %edi
439b89:	8b 46 44             	mov    0x44(%esi),%eax
439b8c:	50                   	push   %eax
439b8d:	e8 de ce fc ff       	call   0x406a70
439b92:	89 44 24 0c          	mov    %eax,0xc(%esp)
439b96:	eb 07                	jmp    0x439b9f
439b98:	8b 46 4c             	mov    0x4c(%esi),%eax
439b9b:	89 44 24 0c          	mov    %eax,0xc(%esp)
439b9f:	8b 0c 24             	mov    (%esp),%ecx
439ba2:	8b d7                	mov    %edi,%edx
439ba4:	8b c6                	mov    %esi,%eax
439ba6:	e8 ad fd ff ff       	call   0x439958
439bab:	8b 44 24 08          	mov    0x8(%esp),%eax
439baf:	50                   	push   %eax
439bb0:	8b 44 24 10          	mov    0x10(%esp),%eax
439bb4:	50                   	push   %eax
439bb5:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
439bb9:	8b d5                	mov    %ebp,%edx
439bbb:	8b c6                	mov    %esi,%eax
439bbd:	8b 28                	mov    (%eax),%ebp
439bbf:	ff 95 88 00 00 00    	call   *0x88(%ebp)
439bc5:	8b c3                	mov    %ebx,%eax