4096dd:	8b 41 04             	mov    0x4(%ecx),%eax
4096e0:	85 c0                	test   %eax,%eax
4096e2:	74 18                	je     0x4096fc
4096e4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4096e8:	85 c9                	test   %ecx,%ecx
4096ea:	74 10                	je     0x4096fc
4096ec:	8b 50 0c             	mov    0xc(%eax),%edx
4096ef:	89 11                	mov    %edx,(%ecx)
4096f1:	8b 40 10             	mov    0x10(%eax),%eax
4096f4:	89 41 04             	mov    %eax,0x4(%ecx)
4096f7:	33 c0                	xor    %eax,%eax
4096f9:	40                   	inc    %eax
4096fa:	eb 02                	jmp    0x4096fe
4096fc:	33 c0                	xor    %eax,%eax
4096fe:	c2 04 00             	ret    $0x4
409701:	8b 41 04             	mov    0x4(%ecx),%eax
409704:	85 c0                	test   %eax,%eax
409706:	74 18                	je     0x409720
409708:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40970c:	85 c9                	test   %ecx,%ecx
40970e:	74 10                	je     0x409720
409710:	8b 50 14             	mov    0x14(%eax),%edx
409713:	89 11                	mov    %edx,(%ecx)
409715:	8b 40 18             	mov    0x18(%eax),%eax
409718:	89 41 04             	mov    %eax,0x4(%ecx)
40971b:	33 c0                	xor    %eax,%eax
40971d:	40                   	inc    %eax
40971e:	eb 02                	jmp    0x409722
409720:	33 c0                	xor    %eax,%eax
409722:	c2 04 00             	ret    $0x4
409725:	8b 41 04             	mov    0x4(%ecx),%eax
409728:	85 c0                	test   %eax,%eax
40972a:	74 18                	je     0x409744
40972c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
409730:	85 c9                	test   %ecx,%ecx
409732:	74 10                	je     0x409744
409734:	8b 50 04             	mov    0x4(%eax),%edx
409737:	89 11                	mov    %edx,(%ecx)
409739:	8b 40 08             	mov    0x8(%eax),%eax
40973c:	89 41 04             	mov    %eax,0x4(%ecx)
40973f:	33 c0                	xor    %eax,%eax
409741:	40                   	inc    %eax
409742:	eb 02                	jmp    0x409746
409744:	33 c0                	xor    %eax,%eax
409746:	c2 04 00             	ret    $0x4
409749:	56                   	push   %esi
40974a:	8b f1                	mov    %ecx,%esi
40974c:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
409750:	75 04                	jne    0x409756
409752:	33 c0                	xor    %eax,%eax
409754:	5e                   	pop    %esi
409755:	c3                   	ret
409756:	57                   	push   %edi
409757:	8d 7e 04             	lea    0x4(%esi),%edi
40975a:	83 3f 00             	cmpl   $0x0,(%edi)
40975d:	75 0d                	jne    0x40976c
40975f:	68 40 01 00 00       	push   $0x140
409764:	e8 ec 68 03 00       	call   0x440055
409769:	59                   	pop    %ecx
40976a:	89 07                	mov    %eax,(%edi)
40976c:	8b 07                	mov    (%edi),%eax
40976e:	8b 4e 08             	mov    0x8(%esi),%ecx
409771:	50                   	push   %eax
409772:	ff 76 0c             	push   0xc(%esi)
409775:	89 0f                	mov    %ecx,(%edi)
409777:	89 46 08             	mov    %eax,0x8(%esi)
40977a:	ff 15 80 02 4b 00    	call   *0x4b0280
409780:	5f                   	pop    %edi
409781:	5e                   	pop    %esi
409782:	c3                   	ret
409783:	33 c0                	xor    %eax,%eax
409785:	39 41 04             	cmp    %eax,0x4(%ecx)
409788:	74 0b                	je     0x409795
40978a:	8b 49 04             	mov    0x4(%ecx),%ecx
40978d:	8b 41 20             	mov    0x20(%ecx),%eax
409790:	8b 49 1c             	mov    0x1c(%ecx),%ecx
409793:	eb 02                	jmp    0x409797
409795:	33 c9                	xor    %ecx,%ecx
409797:	8b d1                	mov    %ecx,%edx
409799:	c3                   	ret
40979a:	e9 05 f4 00 00       	jmp    0x418ba4
40979f:	8b 01                	mov    (%ecx),%eax
4097a1:	6a 10                	push   $0x10
4097a3:	ff 50 38             	call   *0x38(%eax)
4097a6:	c3                   	ret
4097a7:	55                   	push   %ebp
4097a8:	8b ec                	mov    %esp,%ebp
4097aa:	51                   	push   %ecx
4097ab:	51                   	push   %ecx
4097ac:	8b 41 04             	mov    0x4(%ecx),%eax
4097af:	85 c0                	test   %eax,%eax
4097b1:	74 20                	je     0x4097d3
4097b3:	6a ff                	push   $0xffffffff
4097b5:	83 c0 0c             	add    $0xc,%eax
4097b8:	50                   	push   %eax
4097b9:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4097bc:	e8 94 d0 ff ff       	call   0x406855
4097c1:	8b 10                	mov    (%eax),%edx
4097c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4097c6:	89 11                	mov    %edx,(%ecx)
4097c8:	8b 40 04             	mov    0x4(%eax),%eax
4097cb:	89 41 04             	mov    %eax,0x4(%ecx)
4097ce:	33 c0                	xor    %eax,%eax
4097d0:	40                   	inc    %eax
4097d1:	eb 02                	jmp    0x4097d5
4097d3:	33 c0                	xor    %eax,%eax
4097d5:	c9                   	leave
4097d6:	c2 04 00             	ret    $0x4
4097d9:	55                   	push   %ebp
4097da:	8b ec                	mov    %esp,%ebp
4097dc:	51                   	push   %ecx
4097dd:	51                   	push   %ecx
4097de:	8b 41 04             	mov    0x4(%ecx),%eax
4097e1:	85 c0                	test   %eax,%eax
4097e3:	74 20                	je     0x409805
4097e5:	6a ff                	push   $0xffffffff
4097e7:	83 c0 14             	add    $0x14,%eax
4097ea:	50                   	push   %eax
4097eb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4097ee:	e8 62 d0 ff ff       	call   0x406855
4097f3:	8b 10                	mov    (%eax),%edx
4097f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4097f8:	89 11                	mov    %edx,(%ecx)
4097fa:	8b 40 04             	mov    0x4(%eax),%eax
4097fd:	89 41 04             	mov    %eax,0x4(%ecx)
409800:	33 c0                	xor    %eax,%eax
409802:	40                   	inc    %eax
409803:	eb 02                	jmp    0x409807
409805:	33 c0                	xor    %eax,%eax
409807:	c9                   	leave
409808:	c2 04 00             	ret    $0x4
40980b:	55                   	push   %ebp
40980c:	8b ec                	mov    %esp,%ebp
40980e:	51                   	push   %ecx
40980f:	51                   	push   %ecx
409810:	8b 41 04             	mov    0x4(%ecx),%eax
409813:	85 c0                	test   %eax,%eax
409815:	74 20                	je     0x409837
409817:	6a ff                	push   $0xffffffff
409819:	83 c0 04             	add    $0x4,%eax
40981c:	50                   	push   %eax
40981d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409820:	e8 30 d0 ff ff       	call   0x406855
409825:	8b 10                	mov    (%eax),%edx
409827:	8b 4d 08             	mov    0x8(%ebp),%ecx
40982a:	89 11                	mov    %edx,(%ecx)
40982c:	8b 40 04             	mov    0x4(%eax),%eax
40982f:	89 41 04             	mov    %eax,0x4(%ecx)
409832:	33 c0                	xor    %eax,%eax
409834:	40                   	inc    %eax
409835:	eb 02                	jmp    0x409839
409837:	33 c0                	xor    %eax,%eax
409839:	c9                   	leave
40983a:	c2 04 00             	ret    $0x4
40983d:	56                   	push   %esi
40983e:	57                   	push   %edi
40983f:	8b f1                	mov    %ecx,%esi
409841:	33 ff                	xor    %edi,%edi
409843:	39 7e 04             	cmp    %edi,0x4(%esi)
409846:	74 29                	je     0x409871
409848:	8b 06                	mov    (%esi),%eax
40984a:	6a 10                	push   $0x10
40984c:	ff 50 38             	call   *0x38(%eax)
40984f:	85 c0                	test   %eax,%eax
409851:	74 1e                	je     0x409871
409853:	8b 46 04             	mov    0x4(%esi),%eax
409856:	80 78 2c 2e          	cmpb   $0x2e,0x2c(%eax)
40985a:	75 15                	jne    0x409871
40985c:	8a 48 2d             	mov    0x2d(%eax),%cl
40985f:	84 c9                	test   %cl,%cl
409861:	74 0b                	je     0x40986e
409863:	80 f9 2e             	cmp    $0x2e,%cl
409866:	75 09                	jne    0x409871
409868:	80 78 2e 00          	cmpb   $0x0,0x2e(%eax)
40986c:	75 03                	jne    0x409871
40986e:	33 ff                	xor    %edi,%edi
409870:	47                   	inc    %edi
409871:	8b c7                	mov    %edi,%eax
409873:	5f                   	pop    %edi
409874:	5e                   	pop    %esi
409875:	c3                   	ret
409876:	56                   	push   %esi
409877:	8b f1                	mov    %ecx,%esi
409879:	8d 4e 10             	lea    0x10(%esi),%ecx
40987c:	c7 06 c4 bb 48 00    	movl   $0x48bbc4,(%esi)
409882:	e8 2d 78 ff ff       	call   0x4010b4
409887:	33 c0                	xor    %eax,%eax
409889:	89 46 04             	mov    %eax,0x4(%esi)
40988c:	89 46 08             	mov    %eax,0x8(%esi)
40988f:	89 46 0c             	mov    %eax,0xc(%esi)
409892:	c6 46 14 5c          	movb   $0x5c,0x14(%esi)
409896:	8b c6                	mov    %esi,%eax
409898:	5e                   	pop    %esi
409899:	c3                   	ret
40989a:	b8 6e 2f 48 00       	mov    $0x482f6e,%eax
40989f:	e8 d8 e3 00 00       	call   0x417c7c
4098a4:	51                   	push   %ecx
4098a5:	56                   	push   %esi
4098a6:	8b f1                	mov    %ecx,%esi
4098a8:	89 75 f0             	mov    %esi,-0x10(%ebp)
4098ab:	c7 06 c4 bb 48 00    	movl   $0x48bbc4,(%esi)
4098b1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4098b5:	e8 bf fd ff ff       	call   0x409679
4098ba:	8b 4e 10             	mov    0x10(%esi),%ecx
4098bd:	83 e9 10             	sub    $0x10,%ecx
4098c0:	e8 8d 7a ff ff       	call   0x401352
4098c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4098c8:	5e                   	pop    %esi
4098c9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4098d0:	c9                   	leave
4098d1:	c3                   	ret
4098d2:	55                   	push   %ebp
4098d3:	8b ec                	mov    %esp,%ebp
4098d5:	51                   	push   %ecx
4098d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4098da:	83 c1 10             	add    $0x10,%ecx
4098dd:	51                   	push   %ecx
4098de:	8b 4d 08             	mov    0x8(%ebp),%ecx
4098e1:	e8 ec 77 ff ff       	call   0x4010d2
4098e6:	8b 45 08             	mov    0x8(%ebp),%eax
4098e9:	c9                   	leave
4098ea:	c2 04 00             	ret    $0x4
4098ed:	56                   	push   %esi
4098ee:	8b f1                	mov    %ecx,%esi
4098f0:	e8 a5 ff ff ff       	call   0x40989a
4098f5:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4098fa:	74 07                	je     0x409903
4098fc:	56                   	push   %esi
4098fd:	e8 7e 67 03 00       	call   0x440080
409902:	59                   	pop    %ecx
409903:	8b c6                	mov    %esi,%eax
409905:	5e                   	pop    %esi
409906:	c2 04 00             	ret    $0x4
409909:	55                   	push   %ebp
40990a:	56                   	push   %esi
40990b:	57                   	push   %edi
40990c:	8b f1                	mov    %ecx,%esi
40990e:	e8 66 fd ff ff       	call   0x409679
409913:	8b 7c 24 10          	mov    0x10(%esp),%edi
409917:	85 ff                	test   %edi,%edi
409919:	bd 04 01 00 00       	mov    $0x104,%ebp
40991e:	75 4d                	jne    0x40996d
409920:	bf 10 bc 48 00       	mov    $0x48bc10,%edi
409925:	68 40 01 00 00       	push   $0x140
40992a:	e8 26 67 03 00       	call   0x440055
40992f:	59                   	pop    %ecx
409930:	89 46 08             	mov    %eax,0x8(%esi)
409933:	57                   	push   %edi
409934:	83 c0 2c             	add    $0x2c,%eax
409937:	50                   	push   %eax
409938:	ff 15 04 03 4b 00    	call   *0x4b0304
40993e:	ff 76 08             	push   0x8(%esi)
409941:	57                   	push   %edi
409942:	ff 15 7c 02 4b 00    	call   *0x4b027c
409948:	83 f8 ff             	cmp    $0xffffffff,%eax
40994b:	89 46 0c             	mov    %eax,0xc(%esi)
40994e:	75 2f                	jne    0x40997f
409950:	ff 15 9c 03 4b 00    	call   *0x4b039c
409956:	8b ce                	mov    %esi,%ecx
409958:	8b f8                	mov    %eax,%edi
40995a:	e8 1a fd ff ff       	call   0x409679
40995f:	57                   	push   %edi
409960:	ff 15 30 03 4b 00    	call   *0x4b0330
409966:	33 c0                	xor    %eax,%eax
409968:	e9 8e 00 00 00       	jmp    0x4099fb
40996d:	57                   	push   %edi
40996e:	ff 15 88 03 4b 00    	call   *0x4b0388
409974:	3b c5                	cmp    %ebp,%eax
409976:	72 ad                	jb     0x409925
409978:	68 a0 00 00 00       	push   $0xa0
40997d:	eb e1                	jmp    0x409960
40997f:	53                   	push   %ebx
409980:	8d 4e 10             	lea    0x10(%esi),%ecx
409983:	55                   	push   %ebp
409984:	89 4c 24 18          	mov    %ecx,0x18(%esp)
409988:	e8 bd 77 ff ff       	call   0x40114a
40998d:	55                   	push   %ebp
40998e:	8b d8                	mov    %eax,%ebx
409990:	57                   	push   %edi
409991:	53                   	push   %ebx
409992:	e8 5c f2 00 00       	call   0x418bf3
409997:	83 c4 0c             	add    $0xc,%esp
40999a:	85 c0                	test   %eax,%eax
40999c:	75 1d                	jne    0x4099bb
40999e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4099a2:	50                   	push   %eax
4099a3:	e8 ed 77 ff ff       	call   0x401195
4099a8:	8b ce                	mov    %esi,%ecx
4099aa:	e8 ca fc ff ff       	call   0x409679
4099af:	6a 7b                	push   $0x7b
4099b1:	ff 15 30 03 4b 00    	call   *0x4b0330
4099b7:	33 c0                	xor    %eax,%eax
4099b9:	eb 3f                	jmp    0x4099fa
4099bb:	6a 5c                	push   $0x5c
4099bd:	53                   	push   %ebx
4099be:	e8 1b e4 00 00       	call   0x417dde
4099c3:	6a 2f                	push   $0x2f
4099c5:	53                   	push   %ebx
4099c6:	8b f0                	mov    %eax,%esi
4099c8:	e8 11 e4 00 00       	call   0x417dde
4099cd:	83 c4 10             	add    $0x10,%esp
4099d0:	85 c0                	test   %eax,%eax
4099d2:	75 06                	jne    0x4099da
4099d4:	85 f6                	test   %esi,%esi
4099d6:	74 14                	je     0x4099ec
4099d8:	8b c3                	mov    %ebx,%eax
4099da:	85 f6                	test   %esi,%esi
4099dc:	75 02                	jne    0x4099e0
4099de:	8b f3                	mov    %ebx,%esi
4099e0:	3b c6                	cmp    %esi,%eax
4099e2:	72 05                	jb     0x4099e9
4099e4:	c6 00 00             	movb   $0x0,(%eax)
4099e7:	eb 03                	jmp    0x4099ec
4099e9:	c6 06 00             	movb   $0x0,(%esi)
4099ec:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4099f0:	6a ff                	push   $0xffffffff
4099f2:	e8 30 77 ff ff       	call   0x401127
4099f7:	33 c0                	xor    %eax,%eax
4099f9:	40                   	inc    %eax
4099fa:	5b                   	pop    %ebx
4099fb:	5f                   	pop    %edi
4099fc:	5e                   	pop    %esi
4099fd:	5d                   	pop    %ebp
4099fe:	c2 08 00             	ret    $0x8
409a01:	b8 88 2f 48 00       	mov    $0x482f88,%eax
409a06:	e8 71 e2 00 00       	call   0x417c7c
409a0b:	51                   	push   %ecx
409a0c:	51                   	push   %ecx
409a0d:	56                   	push   %esi
409a0e:	57                   	push   %edi
409a0f:	33 f6                	xor    %esi,%esi
409a11:	8d 55 ec             	lea    -0x14(%ebp),%edx
409a14:	89 75 ec             	mov    %esi,-0x14(%ebp)
409a17:	8b 01                	mov    (%ecx),%eax
409a19:	52                   	push   %edx
409a1a:	ff 50 0c             	call   *0xc(%eax)
409a1d:	89 75 fc             	mov    %esi,-0x4(%ebp)
409a20:	e8 d1 67 03 00       	call   0x4401f6
409a25:	8b 10                	mov    (%eax),%edx
409a27:	8b c8                	mov    %eax,%ecx
409a29:	ff 52 0c             	call   *0xc(%edx)
409a2c:	83 c0 10             	add    $0x10,%eax
409a2f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409a32:	8b 7d ec             	mov    -0x14(%ebp),%edi
409a35:	56                   	push   %esi
409a36:	68 04 01 00 00       	push   $0x104
409a3b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
409a3e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409a42:	e8 49 77 ff ff       	call   0x401190
409a47:	50                   	push   %eax