4396b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4396b7:	89 b8 94 00 00 00    	mov    %edi,0x94(%eax)
4396bd:	85 ff                	test   %edi,%edi
4396bf:	74 2f                	je     0x4396f0
4396c1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4396c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4396c7:	8b c7                	mov    %edi,%eax
4396c9:	66 be c4 ff          	mov    $0xffc4,%si
4396cd:	e8 1e a4 fc ff       	call   0x403af0
4396d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4396d5:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
4396db:	8b 55 fc             	mov    -0x4(%ebp),%edx
4396de:	e8 b9 43 fe ff       	call   0x41da9c
4396e3:	eb 0b                	jmp    0x4396f0
4396e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4396e8:	33 d2                	xor    %edx,%edx
4396ea:	89 90 94 00 00 00    	mov    %edx,0x94(%eax)
4396f0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4396f4:	74 0f                	je     0x439705
4396f6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4396f9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4396fc:	66 be be ff          	mov    $0xffbe,%si
439700:	e8 eb a3 fc ff       	call   0x403af0
439705:	33 c0                	xor    %eax,%eax
439707:	5a                   	pop    %edx
439708:	59                   	pop    %ecx
439709:	59                   	pop    %ecx
43970a:	64 89 10             	mov    %edx,%fs:(%eax)
43970d:	68 23 97 43 00       	push   $0x439723
439712:	8b 45 fc             	mov    -0x4(%ebp),%eax
439715:	66 81 60 54 ff fb    	andw   $0xfbff,0x54(%eax)
43971b:	c3                   	ret
43971c:	e9 67 a9 fc ff       	jmp    0x404088
439721:	eb ef                	jmp    0x439712
439723:	5f                   	pop    %edi
439724:	5e                   	pop    %esi
439725:	8b e5                	mov    %ebp,%esp
439727:	5d                   	pop    %ebp
439728:	c3                   	ret
439729:	8d 40 00             	lea    0x0(%eax),%eax
43972c:	53                   	push   %ebx
43972d:	56                   	push   %esi
43972e:	57                   	push   %edi
43972f:	8b f9                	mov    %ecx,%edi
439731:	8b f2                	mov    %edx,%esi
439733:	8b d8                	mov    %eax,%ebx
439735:	8b c3                	mov    %ebx,%eax
439737:	8b 15 68 5e 43 00    	mov    0x435e68,%edx
43973d:	e8 3e a3 fc ff       	call   0x403a80
439742:	84 c0                	test   %al,%al
439744:	75 0d                	jne    0x439753
439746:	33 c9                	xor    %ecx,%ecx
439748:	0f b6 53 57          	movzbl 0x57(%ebx),%edx
43974c:	8b c3                	mov    %ebx,%eax
43974e:	e8 71 0b 00 00       	call   0x43a2c4
439753:	3b 73 30             	cmp    0x30(%ebx),%esi
439756:	74 0b                	je     0x439763
439758:	8b d7                	mov    %edi,%edx
43975a:	8b c3                	mov    %ebx,%eax
43975c:	e8 63 1a 00 00       	call   0x43b1c4
439761:	eb 09                	jmp    0x43976c
439763:	8b d7                	mov    %edi,%edx
439765:	8b c3                	mov    %ebx,%eax
439767:	e8 70 00 00 00       	call   0x4397dc
43976c:	85 f6                	test   %esi,%esi
43976e:	74 05                	je     0x439775
439770:	83 fe ff             	cmp    $0xffffffff,%esi
439773:	75 09                	jne    0x43977e
439775:	33 d2                	xor    %edx,%edx
439777:	8b c3                	mov    %ebx,%eax
439779:	8b 08                	mov    (%eax),%ecx
43977b:	ff 51 6c             	call   *0x6c(%ecx)
43977e:	5f                   	pop    %edi
43977f:	5e                   	pop    %esi
439780:	5b                   	pop    %ebx
439781:	c3                   	ret
439782:	8b c0                	mov    %eax,%eax
439784:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
439788:	75 07                	jne    0x439791
43978a:	c6 80 58 01 00 00 01 	movb   $0x1,0x158(%eax)
439791:	89 90 60 01 00 00    	mov    %edx,0x160(%eax)
439797:	c3                   	ret
439798:	53                   	push   %ebx
439799:	56                   	push   %esi
43979a:	8b f2                	mov    %edx,%esi
43979c:	8b d8                	mov    %eax,%ebx
43979e:	f6 43 1c 01          	testb  $0x1,0x1c(%ebx)
4397a2:	75 07                	jne    0x4397ab
4397a4:	c6 83 58 01 00 00 00 	movb   $0x0,0x158(%ebx)
4397ab:	8d 83 5c 01 00 00    	lea    0x15c(%ebx),%eax
4397b1:	8b d6                	mov    %esi,%edx
4397b3:	e8 bc af fc ff       	call   0x404774
4397b8:	5e                   	pop    %esi
4397b9:	5b                   	pop    %ebx
4397ba:	c3                   	ret
4397bb:	90                   	nop
4397bc:	8b 48 40             	mov    0x40(%eax),%ecx
4397bf:	89 0a                	mov    %ecx,(%edx)
4397c1:	8b 48 44             	mov    0x44(%eax),%ecx
4397c4:	89 4a 04             	mov    %ecx,0x4(%edx)
4397c7:	8b 48 40             	mov    0x40(%eax),%ecx
4397ca:	03 48 48             	add    0x48(%eax),%ecx
4397cd:	89 4a 08             	mov    %ecx,0x8(%edx)
4397d0:	8b 48 44             	mov    0x44(%eax),%ecx
4397d3:	03 48 4c             	add    0x4c(%eax),%ecx
4397d6:	89 4a 0c             	mov    %ecx,0xc(%edx)
4397d9:	c3                   	ret
4397da:	8b c0                	mov    %eax,%eax
4397dc:	53                   	push   %ebx
4397dd:	56                   	push   %esi
4397de:	57                   	push   %edi
4397df:	8b 4a 08             	mov    0x8(%edx),%ecx
4397e2:	8b 32                	mov    (%edx),%esi
4397e4:	2b ce                	sub    %esi,%ecx
4397e6:	51                   	push   %ecx
4397e7:	8b 4a 0c             	mov    0xc(%edx),%ecx
4397ea:	8b 7a 04             	mov    0x4(%edx),%edi
4397ed:	2b cf                	sub    %edi,%ecx
4397ef:	51                   	push   %ecx
4397f0:	8b cf                	mov    %edi,%ecx
4397f2:	8b d6                	mov    %esi,%edx
4397f4:	8b 18                	mov    (%eax),%ebx
4397f6:	ff 93 88 00 00 00    	call   *0x88(%ebx)
4397fc:	5f                   	pop    %edi
4397fd:	5e                   	pop    %esi
4397fe:	5b                   	pop    %ebx
4397ff:	c3                   	ret
439800:	33 c9                	xor    %ecx,%ecx
439802:	89 0a                	mov    %ecx,(%edx)
439804:	33 c9                	xor    %ecx,%ecx
439806:	89 4a 04             	mov    %ecx,0x4(%edx)
439809:	8b 48 48             	mov    0x48(%eax),%ecx
43980c:	89 4a 08             	mov    %ecx,0x8(%edx)
43980f:	8b 40 4c             	mov    0x4c(%eax),%eax
439812:	89 42 0c             	mov    %eax,0xc(%edx)
439815:	c3                   	ret
439816:	8b c0                	mov    %eax,%eax
439818:	53                   	push   %ebx
439819:	83 c4 f0             	add    $0xfffffff0,%esp
43981c:	8b d8                	mov    %eax,%ebx
43981e:	8b d4                	mov    %esp,%edx
439820:	8b c3                	mov    %ebx,%eax
439822:	8b 08                	mov    (%eax),%ecx
439824:	ff 51 44             	call   *0x44(%ecx)
439827:	8b 44 24 08          	mov    0x8(%esp),%eax
43982b:	83 c4 10             	add    $0x10,%esp
43982e:	5b                   	pop    %ebx
43982f:	c3                   	ret
439830:	53                   	push   %ebx
439831:	56                   	push   %esi
439832:	83 c4 f8             	add    $0xfffffff8,%esp
439835:	8b f2                	mov    %edx,%esi
439837:	8b d8                	mov    %eax,%ebx
439839:	8b c3                	mov    %ebx,%eax
43983b:	e8 1c 00 00 00       	call   0x43985c
439840:	8b d0                	mov    %eax,%edx
439842:	8b cc                	mov    %esp,%ecx
439844:	8b c6                	mov    %esi,%eax
439846:	e8 a5 ce fd ff       	call   0x4166f0
43984b:	8b d4                	mov    %esp,%edx
43984d:	8b c3                	mov    %ebx,%eax
43984f:	e8 d4 04 00 00       	call   0x439d28
439854:	59                   	pop    %ecx
439855:	5a                   	pop    %edx
439856:	5e                   	pop    %esi
439857:	5b                   	pop    %ebx
439858:	c3                   	ret
439859:	8d 40 00             	lea    0x0(%eax),%eax
43985c:	53                   	push   %ebx
43985d:	83 c4 f0             	add    $0xfffffff0,%esp
439860:	8b d8                	mov    %eax,%ebx
439862:	8b d4                	mov    %esp,%edx
439864:	8b c3                	mov    %ebx,%eax
439866:	8b 08                	mov    (%eax),%ecx
439868:	ff 51 44             	call   *0x44(%ecx)
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)