409728:	6a 57                	push   $0x57
40972a:	ff 15 74 20 41 00    	call   *0x412074
409730:	33 c0                	xor    %eax,%eax
409732:	5f                   	pop    %edi
409733:	5e                   	pop    %esi
409734:	c3                   	ret
409735:	e8 51 fd ff ff       	call   0x40948b
40973a:	85 c0                	test   %eax,%eax
40973c:	74 f2                	je     0x409730
40973e:	51                   	push   %ecx
40973f:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409745:	33 d2                	xor    %edx,%edx
409747:	56                   	push   %esi
409748:	e8 b3 f9 ff ff       	call   0x409100
40974d:	85 c0                	test   %eax,%eax
40974f:	75 0e                	jne    0x40975f
409751:	ff 15 48 20 41 00    	call   *0x412048
409757:	85 c0                	test   %eax,%eax
409759:	75 d5                	jne    0x409730
40975b:	6a 08                	push   $0x8
40975d:	eb cb                	jmp    0x40972a
40975f:	57                   	push   %edi
409760:	ff 15 74 20 41 00    	call   *0x412074
409766:	33 c0                	xor    %eax,%eax
409768:	40                   	inc    %eax
409769:	eb c7                	jmp    0x409732
40976b:	8b ff                	mov    %edi,%edi
40976d:	55                   	push   %ebp
40976e:	8b ec                	mov    %esp,%ebp
409770:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409773:	56                   	push   %esi
409774:	33 f6                	xor    %esi,%esi
409776:	57                   	push   %edi
409777:	85 c9                	test   %ecx,%ecx
409779:	75 0e                	jne    0x409789
40977b:	ff 15 48 20 41 00    	call   *0x412048
409781:	85 c0                	test   %eax,%eax
409783:	75 69                	jne    0x4097ee
409785:	6a 57                	push   $0x57
409787:	eb 5f                	jmp    0x4097e8
409789:	39 75 08             	cmp    %esi,0x8(%ebp)
40978c:	75 0a                	jne    0x409798
40978e:	e8 79 ff ff ff       	call   0x40970c
409793:	33 c0                	xor    %eax,%eax
409795:	40                   	inc    %eax
409796:	eb 58                	jmp    0x4097f0
409798:	6a 01                	push   $0x1
40979a:	81 c6 00 01 00 00    	add    $0x100,%esi
4097a0:	33 d2                	xor    %edx,%edx
4097a2:	56                   	push   %esi
4097a3:	6a 05                	push   $0x5
4097a5:	59                   	pop    %ecx
4097a6:	e8 f8 fd ff ff       	call   0x4095a3
4097ab:	8b f8                	mov    %eax,%edi
4097ad:	85 ff                	test   %edi,%edi
4097af:	74 2b                	je     0x4097dc
4097b1:	8d 45 10             	lea    0x10(%ebp),%eax
4097b4:	8b d6                	mov    %esi,%edx
4097b6:	50                   	push   %eax
4097b7:	ff 75 0c             	push   0xc(%ebp)
4097ba:	8b cf                	mov    %edi,%ecx
4097bc:	e8 7d 17 00 00       	call   0x40af3e
4097c1:	3d 7a 00 07 80       	cmp    $0x8007007a,%eax
4097c6:	74 d0                	je     0x409798
4097c8:	85 c0                	test   %eax,%eax
4097ca:	79 06                	jns    0x4097d2
4097cc:	0f b7 c0             	movzwl %ax,%eax
4097cf:	50                   	push   %eax
4097d0:	eb 16                	jmp    0x4097e8
4097d2:	8b cf                	mov    %edi,%ecx
4097d4:	5f                   	pop    %edi
4097d5:	5e                   	pop    %esi
4097d6:	5d                   	pop    %ebp
4097d7:	e9 30 ff ff ff       	jmp    0x40970c
4097dc:	ff 15 48 20 41 00    	call   *0x412048
4097e2:	85 c0                	test   %eax,%eax
4097e4:	75 08                	jne    0x4097ee
4097e6:	6a 08                	push   $0x8
4097e8:	ff 15 74 20 41 00    	call   *0x412074
4097ee:	33 c0                	xor    %eax,%eax
4097f0:	5f                   	pop    %edi
4097f1:	5e                   	pop    %esi
4097f2:	5d                   	pop    %ebp
4097f3:	c3                   	ret
4097f4:	8b ff                	mov    %edi,%edi
4097f6:	55                   	push   %ebp
4097f7:	8b ec                	mov    %esp,%ebp
4097f9:	51                   	push   %ecx
4097fa:	56                   	push   %esi
4097fb:	33 f6                	xor    %esi,%esi
4097fd:	89 75 fc             	mov    %esi,-0x4(%ebp)
409800:	e8 86 fc ff ff       	call   0x40948b
409805:	85 c0                	test   %eax,%eax
409807:	74 6b                	je     0x409874
409809:	56                   	push   %esi
40980a:	56                   	push   %esi
40980b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40980e:	50                   	push   %eax
40980f:	56                   	push   %esi
409810:	ff 15 48 20 41 00    	call   *0x412048
409816:	50                   	push   %eax
409817:	56                   	push   %esi
409818:	68 00 13 00 00       	push   $0x1300
40981d:	ff 15 60 20 41 00    	call   *0x412060
409823:	85 c0                	test   %eax,%eax
409825:	74 1b                	je     0x409842
409827:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40982a:	85 c9                	test   %ecx,%ecx
40982c:	74 34                	je     0x409862
40982e:	e8 d9 fe ff ff       	call   0x40970c
409833:	ff 75 fc             	push   -0x4(%ebp)
409836:	8b f0                	mov    %eax,%esi
409838:	ff 15 ec 20 41 00    	call   *0x4120ec
40983e:	8b c6                	mov    %esi,%eax
409840:	eb 34                	jmp    0x409876
409842:	39 75 fc             	cmp    %esi,-0x4(%ebp)
409845:	74 1b                	je     0x409862
409847:	ff 75 fc             	push   -0x4(%ebp)
40984a:	ff 15 ec 20 41 00    	call   *0x4120ec
409850:	ff 15 48 20 41 00    	call   *0x412048
409856:	85 c0                	test   %eax,%eax
409858:	75 08                	jne    0x409862
40985a:	6a 08                	push   $0x8
40985c:	ff 15 74 20 41 00    	call   *0x412074
409862:	ff 15 48 20 41 00    	call   *0x412048
409868:	85 c0                	test   %eax,%eax
40986a:	75 08                	jne    0x409874
40986c:	6a 08                	push   $0x8
40986e:	ff 15 74 20 41 00    	call   *0x412074
409874:	33 c0                	xor    %eax,%eax
409876:	5e                   	pop    %esi
409877:	c9                   	leave
409878:	c3                   	ret
409879:	8b ff                	mov    %edi,%edi
40987b:	55                   	push   %ebp
40987c:	8b ec                	mov    %esp,%ebp
40987e:	51                   	push   %ecx
40987f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409883:	33 d2                	xor    %edx,%edx
409885:	56                   	push   %esi
409886:	57                   	push   %edi
409887:	6a 01                	push   $0x1
409889:	bf 00 01 00 00       	mov    $0x100,%edi
40988e:	33 c9                	xor    %ecx,%ecx
409890:	57                   	push   %edi
409891:	e8 0d fd ff ff       	call   0x4095a3
409896:	8b f0                	mov    %eax,%esi
409898:	85 f6                	test   %esi,%esi
40989a:	74 49                	je     0x4098e5
40989c:	6a 01                	push   $0x1
40989e:	33 c9                	xor    %ecx,%ecx
4098a0:	33 d2                	xor    %edx,%edx
4098a2:	57                   	push   %edi
4098a3:	41                   	inc    %ecx
4098a4:	e8 fa fc ff ff       	call   0x4095a3
4098a9:	8b f8                	mov    %eax,%edi
4098ab:	85 ff                	test   %edi,%edi
4098ad:	74 36                	je     0x4098e5
4098af:	8b cf                	mov    %edi,%ecx
4098b1:	e8 44 15 00 00       	call   0x40adfa
4098b6:	d1 e8                	shr    $1,%eax
4098b8:	8b ce                	mov    %esi,%ecx
4098ba:	48                   	dec    %eax
4098bb:	50                   	push   %eax
4098bc:	57                   	push   %edi
4098bd:	e8 38 15 00 00       	call   0x40adfa
4098c2:	d1 e8                	shr    $1,%eax
4098c4:	48                   	dec    %eax
4098c5:	50                   	push   %eax
4098c6:	56                   	push   %esi
4098c7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4098ca:	50                   	push   %eax
4098cb:	ff 15 08 21 41 00    	call   *0x412108
4098d1:	85 c0                	test   %eax,%eax
4098d3:	75 13                	jne    0x4098e8
4098d5:	8b ce                	mov    %esi,%ecx
4098d7:	e8 30 fe ff ff       	call   0x40970c
4098dc:	85 c0                	test   %eax,%eax
4098de:	74 05                	je     0x4098e5
4098e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4098e3:	eb 03                	jmp    0x4098e8
4098e5:	6a 08                	push   $0x8
4098e7:	58                   	pop    %eax
4098e8:	5f                   	pop    %edi
4098e9:	5e                   	pop    %esi
4098ea:	c9                   	leave
4098eb:	c3                   	ret
4098ec:	8b ff                	mov    %edi,%edi
4098ee:	56                   	push   %esi
4098ef:	8b f1                	mov    %ecx,%esi
4098f1:	e8 fe fe ff ff       	call   0x4097f4
4098f6:	85 c0                	test   %eax,%eax
4098f8:	74 17                	je     0x409911
4098fa:	e8 ed fd ff ff       	call   0x4096ec
4098ff:	8b d0                	mov    %eax,%edx
409901:	8b ce                	mov    %esi,%ecx
409903:	e8 e5 0b 00 00       	call   0x40a4ed
409908:	85 c0                	test   %eax,%eax
40990a:	74 05                	je     0x409911
40990c:	33 c0                	xor    %eax,%eax
40990e:	40                   	inc    %eax
40990f:	5e                   	pop    %esi
409910:	c3                   	ret
409911:	33 c0                	xor    %eax,%eax
409913:	5e                   	pop    %esi
409914:	c3                   	ret
409915:	8b ff                	mov    %edi,%edi
409917:	55                   	push   %ebp
409918:	8b ec                	mov    %esp,%ebp
40991a:	51                   	push   %ecx
40991b:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409921:	e8 44 f1 ff ff       	call   0x408a6a
409926:	83 f8 01             	cmp    $0x1,%eax
409929:	75 76                	jne    0x4099a1
40992b:	57                   	push   %edi
40992c:	6a 03                	push   $0x3
40992e:	5a                   	pop    %edx
40992f:	e8 92 f4 ff ff       	call   0x408dc6
409934:	8b f8                	mov    %eax,%edi
409936:	85 ff                	test   %edi,%edi
409938:	74 5c                	je     0x409996
40993a:	56                   	push   %esi
40993b:	8d 77 ff             	lea    -0x1(%edi),%esi
40993e:	56                   	push   %esi
40993f:	e8 05 fa ff ff       	call   0x409349
409944:	3d 00 00 01 00       	cmp    $0x10000,%eax
409949:	75 44                	jne    0x40998f
40994b:	56                   	push   %esi
40994c:	e8 e9 f6 ff ff       	call   0x40903a
409951:	89 45 fc             	mov    %eax,-0x4(%ebp)
409954:	85 c0                	test   %eax,%eax
409956:	74 37                	je     0x40998f
409958:	8d 48 0c             	lea    0xc(%eax),%ecx
40995b:	e8 66 12 00 00       	call   0x40abc6
409960:	8d 4d fc             	lea    -0x4(%ebp),%ecx
409963:	e8 5e 12 00 00       	call   0x40abc6
409968:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
40996e:	6a 00                	push   $0x0
409970:	6a 03                	push   $0x3
409972:	5a                   	pop    %edx
409973:	e8 9e ee ff ff       	call   0x408816
409978:	85 c0                	test   %eax,%eax
40997a:	74 13                	je     0x40998f
40997c:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
409983:	75 0a                	jne    0x40998f
409985:	8b 48 0c             	mov    0xc(%eax),%ecx
409988:	8b d6                	mov    %esi,%edx
40998a:	e8 d9 f3 ff ff       	call   0x408d68
40998f:	4e                   	dec    %esi
409990:	83 ef 01             	sub    $0x1,%edi
409993:	75 a9                	jne    0x40993e
409995:	5e                   	pop    %esi
409996:	b9 b0 14 41 00       	mov    $0x4114b0,%ecx
40999b:	e8 40 f1 ff ff       	call   0x408ae0
4099a0:	5f                   	pop    %edi
4099a1:	83 3d b4 14 41 00 01 	cmpl   $0x1,0x4114b4
4099a8:	75 06                	jne    0x4099b0
4099aa:	ff 15 c4 21 41 00    	call   *0x4121c4
4099b0:	33 c0                	xor    %eax,%eax
4099b2:	40                   	inc    %eax
4099b3:	c9                   	leave
4099b4:	c3                   	ret
4099b5:	8b ff                	mov    %edi,%edi
4099b7:	55                   	push   %ebp
4099b8:	8b ec                	mov    %esp,%ebp
4099ba:	81 ec 28 01 00 00    	sub    $0x128,%esp
4099c0:	a1 44 10 41 00       	mov    0x411044,%eax
4099c5:	33 c5                	xor    %ebp,%eax
4099c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4099ca:	56                   	push   %esi
4099cb:	be 1c 01 00 00       	mov    $0x11c,%esi
4099d0:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
4099d6:	56                   	push   %esi
4099d7:	6a 00                	push   $0x0
4099d9:	50                   	push   %eax
4099da:	e8 e5 59 00 00       	call   0x40f3c4
4099df:	66 a1 ac 14 41 00    	mov    0x4114ac,%ax
4099e5:	83 c4 0c             	add    $0xc,%esp
4099e8:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
4099ee:	33 f6                	xor    %esi,%esi
4099f0:	46                   	inc    %esi
4099f1:	c7 85 dc fe ff ff 05 	movl   $0x5,-0x124(%ebp)
4099f8:	00 00 00
4099fb:	89 b5 e0 fe ff ff    	mov    %esi,-0x120(%ebp)
409a01:	6a 03                	push   $0x3
409a03:	6a 02                	push   $0x2
409a05:	6a 00                	push   $0x0
409a07:	6a 00                	push   $0x0
409a09:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
409a0d:	ff 15 c8 20 41 00    	call   *0x4120c8
409a13:	6a 03                	push   $0x3
409a15:	56                   	push   %esi
409a16:	52                   	push   %edx
409a17:	50                   	push   %eax
409a18:	ff 15 c8 20 41 00    	call   *0x4120c8
409a1e:	6a 03                	push   $0x3
409a20:	6a 20                	push   $0x20
409a22:	52                   	push   %edx
409a23:	50                   	push   %eax
409a24:	ff 15 c8 20 41 00    	call   *0x4120c8
409a2a:	52                   	push   %edx
409a2b:	50                   	push   %eax
409a2c:	6a 03                	push   $0x3
409a2e:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
409a34:	50                   	push   %eax
409a35:	ff 15 10 23 41 00    	call   *0x412310
409a3b:	33 c9                	xor    %ecx,%ecx
409a3d:	85 c0                	test   %eax,%eax
409a3f:	5e                   	pop    %esi
409a40:	0f 99 c1             	setns  %cl
409a43:	8b c1                	mov    %ecx,%eax
409a45:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409a48:	33 cd                	xor    %ebp,%ecx
409a4a:	e8 81 52 00 00       	call   0x40ecd0
409a4f:	c9                   	leave
409a50:	c3                   	ret
409a51:	a1 a8 14 41 00       	mov    0x4114a8,%eax
409a56:	33 d2                	xor    %edx,%edx
409a58:	56                   	push   %esi
409a59:	6a 0a                	push   $0xa
409a5b:	40                   	inc    %eax
409a5c:	5e                   	pop    %esi
409a5d:	a3 a8 14 41 00       	mov    %eax,0x4114a8
409a62:	f7 f6                	div    %esi
409a64:	83 c2 04             	add    $0x4,%edx
409a67:	52                   	push   %edx
409a68:	8b d1                	mov    %ecx,%edx
409a6a:	e8 02 00 00 00       	call   0x409a71
409a6f:	5e                   	pop    %esi
409a70:	c3                   	ret
409a71:	8b ff                	mov    %edi,%edi
409a73:	55                   	push   %ebp
409a74:	8b ec                	mov    %esp,%ebp
409a76:	51                   	push   %ecx
409a77:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409a7b:	53                   	push   %ebx
409a7c:	8b da                	mov    %edx,%ebx
409a7e:	56                   	push   %esi
409a7f:	57                   	push   %edi
409a80:	85 db                	test   %ebx,%ebx
409a82:	75 15                	jne    0x409a99
409a84:	ff 15 48 20 41 00    	call   *0x412048
409a8a:	85 c0                	test   %eax,%eax
409a8c:	0f 85 00 01 00 00    	jne    0x409b92
409a92:	6a 57                	push   $0x57
409a94:	e9 f3 00 00 00       	jmp    0x409b8c
409a99:	e8 ed f9 ff ff       	call   0x40948b
409a9e:	85 c0                	test   %eax,%eax
409aa0:	0f 84 ec 00 00 00    	je     0x409b92
409aa6:	33 d2                	xor    %edx,%edx