4596c9:	8b c7                	mov    %edi,%eax
4596cb:	8b 15 fc 8d 45 00    	mov    0x458dfc,%edx
4596d1:	e8 d2 a3 fa ff       	call   0x403aa8
4596d6:	84 c0                	test   %al,%al
4596d8:	74 09                	je     0x4596e3
4596da:	8b d7                	mov    %edi,%edx
4596dc:	8b c6                	mov    %esi,%eax
4596de:	e8 25 00 00 00       	call   0x459708
4596e3:	5f                   	pop    %edi
4596e4:	5e                   	pop    %esi
4596e5:	5b                   	pop    %ebx
4596e6:	c3                   	ret
4596e7:	90                   	nop
4596e8:	53                   	push   %ebx
4596e9:	56                   	push   %esi
4596ea:	8b f2                	mov    %edx,%esi
4596ec:	8b d8                	mov    %eax,%ebx
4596ee:	8b d6                	mov    %esi,%edx
4596f0:	8b 43 30             	mov    0x30(%ebx),%eax
4596f3:	e8 80 e9 fb ff       	call   0x418078
4596f8:	89 5e 5c             	mov    %ebx,0x5c(%esi)
4596fb:	8b d3                	mov    %ebx,%edx
4596fd:	8b c6                	mov    %esi,%eax
4596ff:	e8 e0 51 fc ff       	call   0x41e8e4
459704:	5e                   	pop    %esi
459705:	5b                   	pop    %ebx
459706:	c3                   	ret
459707:	90                   	nop
459708:	53                   	push   %ebx
459709:	56                   	push   %esi
45970a:	8b f2                	mov    %edx,%esi
45970c:	8b d8                	mov    %eax,%ebx
45970e:	8b d6                	mov    %esi,%edx
459710:	8b 43 30             	mov    0x30(%ebx),%eax
459713:	e8 5c ec fb ff       	call   0x418374
459718:	85 c0                	test   %eax,%eax
45971a:	7c 05                	jl     0x459721
45971c:	33 c0                	xor    %eax,%eax
45971e:	89 46 5c             	mov    %eax,0x5c(%esi)
459721:	5e                   	pop    %esi
459722:	5b                   	pop    %ebx
459723:	c3                   	ret
459724:	53                   	push   %ebx
459725:	56                   	push   %esi
459726:	57                   	push   %edi
459727:	8b d8                	mov    %eax,%ebx
459729:	66 83 7b 42 00       	cmpw   $0x0,0x42(%ebx)
45972e:	74 08                	je     0x459738
459730:	8b d3                	mov    %ebx,%edx
459732:	8b 43 44             	mov    0x44(%ebx),%eax
459735:	ff 53 40             	call   *0x40(%ebx)
459738:	8b 43 30             	mov    0x30(%ebx),%eax
45973b:	8b 70 08             	mov    0x8(%eax),%esi
45973e:	4e                   	dec    %esi
45973f:	85 f6                	test   %esi,%esi
459741:	7c 15                	jl     0x459758
459743:	46                   	inc    %esi
459744:	33 ff                	xor    %edi,%edi
459746:	8b 43 30             	mov    0x30(%ebx),%eax
459749:	8b 40 04             	mov    0x4(%eax),%eax
45974c:	8b 04 b8             	mov    (%eax,%edi,4),%eax
45974f:	8b 10                	mov    (%eax),%edx
459751:	ff 52 30             	call   *0x30(%edx)
459754:	47                   	inc    %edi
459755:	4e                   	dec    %esi
459756:	75 ee                	jne    0x459746
459758:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
45975c:	74 28                	je     0x459786
45975e:	8b 73 04             	mov    0x4(%ebx),%esi
459761:	8b c6                	mov    %esi,%eax
459763:	8b 15 9c ae 45 00    	mov    0x45ae9c,%edx
459769:	e8 3a a3 fa ff       	call   0x403aa8
45976e:	84 c0                	test   %al,%al
459770:	74 14                	je     0x459786
459772:	83 be 98 02 00 00 00 	cmpl   $0x0,0x298(%esi)
459779:	74 0b                	je     0x459786
45977b:	8b 86 98 02 00 00    	mov    0x298(%esi),%eax
459781:	8b 10                	mov    (%eax),%edx
459783:	ff 52 0c             	call   *0xc(%edx)
459786:	5f                   	pop    %edi
459787:	5e                   	pop    %esi
459788:	5b                   	pop    %ebx
459789:	c3                   	ret
45978a:	8b c0                	mov    %eax,%eax
45978c:	53                   	push   %ebx
45978d:	56                   	push   %esi
45978e:	57                   	push   %edi
45978f:	55                   	push   %ebp
459790:	83 c4 f8             	add    $0xfffffff8,%esp
459793:	8b f2                	mov    %edx,%esi
459795:	89 04 24             	mov    %eax,(%esp)
459798:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
45979d:	e8 da 8b fe ff       	call   0x44237c
4597a2:	84 c0                	test   %al,%al
4597a4:	75 7e                	jne    0x459824
4597a6:	8b 46 08             	mov    0x8(%esi),%eax
4597a9:	e8 d2 2d 00 00       	call   0x45c580
4597ae:	8b d8                	mov    %eax,%ebx
4597b0:	0f b7 46 04          	movzwl 0x4(%esi),%eax
4597b4:	8b d3                	mov    %ebx,%edx
4597b6:	e8 15 49 fe ff       	call   0x43e0d0
4597bb:	8b e8                	mov    %eax,%ebp
4597bd:	66 85 ed             	test   %bp,%bp
4597c0:	74 62                	je     0x459824
4597c2:	8b 04 24             	mov    (%esp),%eax
4597c5:	8b 40 30             	mov    0x30(%eax),%eax
4597c8:	8b 70 08             	mov    0x8(%eax),%esi
4597cb:	4e                   	dec    %esi
4597cc:	85 f6                	test   %esi,%esi
4597ce:	7c 54                	jl     0x459824
4597d0:	46                   	inc    %esi
4597d1:	33 ff                	xor    %edi,%edi
4597d3:	8b 04 24             	mov    (%esp),%eax
4597d6:	8b 40 30             	mov    0x30(%eax),%eax
4597d9:	8b 40 04             	mov    0x4(%eax),%eax
4597dc:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
4597df:	8b c3                	mov    %ebx,%eax
4597e1:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
4597e7:	e8 bc a2 fa ff       	call   0x403aa8
4597ec:	84 c0                	test   %al,%al
4597ee:	74 30                	je     0x459820
4597f0:	66 3b ab 84 00 00 00 	cmp    0x84(%ebx),%bp
4597f7:	74 1a                	je     0x459813
4597f9:	83 bb 90 00 00 00 00 	cmpl   $0x0,0x90(%ebx)
459800:	74 1e                	je     0x459820
459802:	8b c3                	mov    %ebx,%eax
459804:	e8 53 08 00 00       	call   0x45a05c
459809:	8b d5                	mov    %ebp,%edx
45980b:	e8 ac 08 00 00       	call   0x45a0bc
459810:	40                   	inc    %eax
459811:	74 0d                	je     0x459820
459813:	8b c3                	mov    %ebx,%eax
459815:	8b 10                	mov    (%eax),%edx
459817:	ff 52 50             	call   *0x50(%edx)
45981a:	88 44 24 04          	mov    %al,0x4(%esp)
45981e:	eb 04                	jmp    0x459824
459820:	47                   	inc    %edi
459821:	4e                   	dec    %esi
459822:	75 af                	jne    0x4597d3
459824:	0f b6 44 24 04       	movzbl 0x4(%esp),%eax
459829:	59                   	pop    %ecx
45982a:	5a                   	pop    %edx
45982b:	5d                   	pop    %ebp
45982c:	5f                   	pop    %edi
45982d:	5e                   	pop    %esi
45982e:	5b                   	pop    %ebx
45982f:	c3                   	ret
459830:	53                   	push   %ebx
459831:	51                   	push   %ecx
459832:	c6 04 24 00          	movb   $0x0,(%esp)
459836:	66 83 78 4a 00       	cmpw   $0x0,0x4a(%eax)
45983b:	74 0a                	je     0x459847
45983d:	8b cc                	mov    %esp,%ecx
45983f:	8b d8                	mov    %eax,%ebx
459841:	8b 43 4c             	mov    0x4c(%ebx),%eax
459844:	ff 53 48             	call   *0x48(%ebx)
459847:	0f b6 04 24          	movzbl (%esp),%eax
45984b:	5a                   	pop    %edx
45984c:	5b                   	pop    %ebx
45984d:	c3                   	ret
45984e:	8b c0                	mov    %eax,%eax
459850:	53                   	push   %ebx
459851:	51                   	push   %ecx
459852:	c6 04 24 00          	movb   $0x0,(%esp)
459856:	66 83 78 52 00       	cmpw   $0x0,0x52(%eax)
45985b:	74 0a                	je     0x459867
45985d:	8b cc                	mov    %esp,%ecx
45985f:	8b d8                	mov    %eax,%ebx
459861:	8b 43 54             	mov    0x54(%ebx),%eax
459864:	ff 53 50             	call   *0x50(%ebx)
459867:	0f b6 04 24          	movzbl (%esp),%eax
45986b:	5a                   	pop    %edx
45986c:	5b                   	pop    %ebx
45986d:	c3                   	ret
45986e:	8b c0                	mov    %eax,%eax
459870:	53                   	push   %ebx
459871:	56                   	push   %esi
459872:	57                   	push   %edi
459873:	55                   	push   %ebp
459874:	51                   	push   %ecx
459875:	88 14 24             	mov    %dl,(%esp)
459878:	8b d8                	mov    %eax,%ebx
45987a:	0f b6 43 58          	movzbl 0x58(%ebx),%eax
45987e:	3a 04 24             	cmp    (%esp),%al
459881:	0f 84 86 00 00 00    	je     0x45990d
459887:	88 44 24 01          	mov    %al,0x1(%esp)
45988b:	0f b6 04 24          	movzbl (%esp),%eax
45988f:	88 43 58             	mov    %al,0x58(%ebx)
459892:	3c 01                	cmp    $0x1,%al
459894:	74 77                	je     0x45990d
459896:	8b 43 30             	mov    0x30(%ebx),%eax
459899:	8b 70 08             	mov    0x8(%eax),%esi
45989c:	4e                   	dec    %esi
45989d:	85 f6                	test   %esi,%esi
45989f:	7c 5d                	jl     0x4598fe
4598a1:	46                   	inc    %esi
4598a2:	33 ed                	xor    %ebp,%ebp
4598a4:	8b 43 30             	mov    0x30(%ebx),%eax
4598a7:	8b 40 04             	mov    0x4(%eax),%eax
4598aa:	8b 3c a8             	mov    (%eax,%ebp,4),%edi
4598ad:	0f b6 04 24          	movzbl (%esp),%eax
4598b1:	2c 01                	sub    $0x1,%al
4598b3:	72 06                	jb     0x4598bb
4598b5:	fe c8                	dec    %al
4598b7:	74 24                	je     0x4598dd
4598b9:	eb 3f                	jmp    0x4598fa
4598bb:	85 ff                	test   %edi,%edi
4598bd:	74 15                	je     0x4598d4
4598bf:	80 7c 24 01 02       	cmpb   $0x2,0x1(%esp)
4598c4:	75 0e                	jne    0x4598d4
4598c6:	0f b6 97 94 00 00 00 	movzbl 0x94(%edi),%edx
4598cd:	8b c7                	mov    %edi,%eax
4598cf:	e8 f4 03 00 00       	call   0x459cc8
4598d4:	8b c7                	mov    %edi,%eax
4598d6:	8b 10                	mov    (%eax),%edx
4598d8:	ff 52 44             	call   *0x44(%edx)
4598db:	eb 1d                	jmp    0x4598fa
4598dd:	85 ff                	test   %edi,%edi
4598df:	74 19                	je     0x4598fa
4598e1:	80 3c 24 02          	cmpb   $0x2,(%esp)
4598e5:	75 13                	jne    0x4598fa
4598e7:	0f b6 47 6a          	movzbl 0x6a(%edi),%eax
4598eb:	88 87 94 00 00 00    	mov    %al,0x94(%edi)
4598f1:	b2 01                	mov    $0x1,%dl
4598f3:	8b c7                	mov    %edi,%eax
4598f5:	e8 ce 03 00 00       	call   0x459cc8
4598fa:	45                   	inc    %ebp
4598fb:	4e                   	dec    %esi
4598fc:	75 a6                	jne    0x4598a4
4598fe:	66 83 7b 62 00       	cmpw   $0x0,0x62(%ebx)
459903:	74 08                	je     0x45990d
459905:	8b d3                	mov    %ebx,%edx
459907:	8b 43 64             	mov    0x64(%ebx),%eax
45990a:	ff 53 60             	call   *0x60(%ebx)
45990d:	5a                   	pop    %edx
45990e:	5d                   	pop    %ebp
45990f:	5f                   	pop    %edi
459910:	5e                   	pop    %esi
459911:	5b                   	pop    %ebx
459912:	c3                   	ret
459913:	90                   	nop
459914:	53                   	push   %ebx
459915:	8b d8                	mov    %eax,%ebx
459917:	8b 43 10             	mov    0x10(%ebx),%eax
45991a:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459920:	e8 83 a1 fa ff       	call   0x403aa8
459925:	5b                   	pop    %ebx
459926:	c3                   	ret
459927:	90                   	nop
459928:	53                   	push   %ebx
459929:	8b d8                	mov    %eax,%ebx
45992b:	8b 43 10             	mov    0x10(%ebx),%eax
45992e:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459934:	e8 6f a1 fa ff       	call   0x403aa8
459939:	5b                   	pop    %ebx
45993a:	c3                   	ret
45993b:	90                   	nop
45993c:	53                   	push   %ebx
45993d:	8b d8                	mov    %eax,%ebx
45993f:	8b 43 10             	mov    0x10(%ebx),%eax
459942:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459948:	e8 5b a1 fa ff       	call   0x403aa8
45994d:	5b                   	pop    %ebx
45994e:	c3                   	ret
45994f:	90                   	nop
459950:	53                   	push   %ebx
459951:	8b d8                	mov    %eax,%ebx
459953:	8b 43 10             	mov    0x10(%ebx),%eax
459956:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
45995c:	e8 47 a1 fa ff       	call   0x403aa8
459961:	5b                   	pop    %ebx
459962:	c3                   	ret
459963:	90                   	nop
459964:	53                   	push   %ebx
459965:	8b d8                	mov    %eax,%ebx
459967:	8b 43 10             	mov    0x10(%ebx),%eax
45996a:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459970:	e8 33 a1 fa ff       	call   0x403aa8
459975:	5b                   	pop    %ebx
459976:	c3                   	ret
459977:	90                   	nop
459978:	53                   	push   %ebx
459979:	8b d8                	mov    %eax,%ebx
45997b:	8b 43 10             	mov    0x10(%ebx),%eax
45997e:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459984:	e8 1f a1 fa ff       	call   0x403aa8
459989:	5b                   	pop    %ebx
45998a:	c3                   	ret
45998b:	90                   	nop
45998c:	53                   	push   %ebx
45998d:	8b d8                	mov    %eax,%ebx
45998f:	8b 43 10             	mov    0x10(%ebx),%eax
459992:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
459998:	e8 0b a1 fa ff       	call   0x403aa8
45999d:	5b                   	pop    %ebx
45999e:	c3                   	ret
45999f:	90                   	nop
4599a0:	53                   	push   %ebx
4599a1:	8b d8                	mov    %eax,%ebx
4599a3:	8b 43 10             	mov    0x10(%ebx),%eax
4599a6:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
4599ac:	e8 f7 a0 fa ff       	call   0x403aa8
4599b1:	5b                   	pop    %ebx
4599b2:	c3                   	ret
4599b3:	90                   	nop
4599b4:	53                   	push   %ebx
4599b5:	8b d8                	mov    %eax,%ebx
4599b7:	8b 43 10             	mov    0x10(%ebx),%eax
4599ba:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
4599c0:	e8 e3 a0 fa ff       	call   0x403aa8
4599c5:	5b                   	pop    %ebx
4599c6:	c3                   	ret
4599c7:	90                   	nop
4599c8:	53                   	push   %ebx
4599c9:	8b d8                	mov    %eax,%ebx
4599cb:	8b 43 10             	mov    0x10(%ebx),%eax
4599ce:	8b 15 1c 91 45 00    	mov    0x45911c,%edx
4599d4:	e8 cf a0 fa ff       	call   0x403aa8
4599d9:	5b                   	pop    %ebx
4599da:	c3                   	ret
4599db:	90                   	nop
4599dc:	c3                   	ret
4599dd:	8d 40 00             	lea    0x0(%eax),%eax
4599e0:	c3                   	ret
4599e1:	8d 40 00             	lea    0x0(%eax),%eax
4599e4:	c3                   	ret
4599e5:	8d 40 00             	lea    0x0(%eax),%eax
4599e8:	c3                   	ret
4599e9:	8d 40 00             	lea    0x0(%eax),%eax
4599ec:	c3                   	ret
4599ed:	8d 40 00             	lea    0x0(%eax),%eax
4599f0:	c3                   	ret
4599f1:	8d 40 00             	lea    0x0(%eax),%eax
4599f4:	c3                   	ret
4599f5:	8d 40 00             	lea    0x0(%eax),%eax
4599f8:	c3                   	ret
4599f9:	8d 40 00             	lea    0x0(%eax),%eax
4599fc:	c3                   	ret
4599fd:	8d 40 00             	lea    0x0(%eax),%eax
459a00:	c3                   	ret
459a01:	8d 40 00             	lea    0x0(%eax),%eax
459a04:	c3                   	ret
459a05:	8d 40 00             	lea    0x0(%eax),%eax
459a08:	c3                   	ret
459a09:	8d 40 00             	lea    0x0(%eax),%eax
459a0c:	53                   	push   %ebx
459a0d:	56                   	push   %esi
459a0e:	84 d2                	test   %dl,%dl
459a10:	74 08                	je     0x459a1a
459a12:	83 c4 f0             	add    $0xfffffff0,%esp