401796:	ff 15 44 e0 43 00    	call   *0x43e044
40179c:	83 7d cc 02          	cmpl   $0x2,-0x34(%ebp)
4017a0:	8b f8                	mov    %eax,%edi
4017a2:	8b 75 dc             	mov    -0x24(%ebp),%esi
4017a5:	0f 85 d6 00 00 00    	jne    0x401881
4017ab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4017b0:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
4017b5:	f7 65 e0             	mull   -0x20(%ebp)
4017b8:	c1 ea 03             	shr    $0x3,%edx
4017bb:	81 fa e8 03 00 00    	cmp    $0x3e8,%edx
4017c1:	73 07                	jae    0x4017ca
4017c3:	ba e8 03 00 00       	mov    $0x3e8,%edx
4017c8:	eb 0e                	jmp    0x4017d8
4017ca:	81 fa 10 27 00 00    	cmp    $0x2710,%edx
4017d0:	b8 10 27 00 00       	mov    $0x2710,%eax
4017d5:	0f 47 d0             	cmova  %eax,%edx
4017d8:	52                   	push   %edx
4017d9:	ff 15 50 e0 43 00    	call   *0x43e050
4017df:	8d 45 ec             	lea    -0x14(%ebp),%eax
4017e2:	50                   	push   %eax
4017e3:	6a 24                	push   $0x24
4017e5:	8d 45 c8             	lea    -0x38(%ebp),%eax
4017e8:	50                   	push   %eax
4017e9:	6a 00                	push   $0x0
4017eb:	53                   	push   %ebx
4017ec:	ff 15 08 e0 43 00    	call   *0x43e008
4017f2:	85 c0                	test   %eax,%eax
4017f4:	74 27                	je     0x40181d
4017f6:	39 75 dc             	cmp    %esi,-0x24(%ebp)
4017f9:	76 0d                	jbe    0x401808
4017fb:	ff 15 44 e0 43 00    	call   *0x43e044
401801:	8b 75 dc             	mov    -0x24(%ebp),%esi
401804:	8b f8                	mov    %eax,%edi
401806:	eb 0d                	jmp    0x401815
401808:	ff 15 44 e0 43 00    	call   *0x43e044
40180e:	2b c7                	sub    %edi,%eax
401810:	3b 45 e0             	cmp    -0x20(%ebp),%eax
401813:	77 6c                	ja     0x401881
401815:	83 7d cc 02          	cmpl   $0x2,-0x34(%ebp)
401819:	74 95                	je     0x4017b0
40181b:	eb 64                	jmp    0x401881
40181d:	a1 20 72 45 00       	mov    0x457220,%eax
401822:	85 c0                	test   %eax,%eax
401824:	75 33                	jne    0x401859
401826:	68 84 00 00 00       	push   $0x84
40182b:	e8 96 83 01 00       	call   0x419bc6
401830:	8b f0                	mov    %eax,%esi
401832:	89 75 c4             	mov    %esi,-0x3c(%ebp)
401835:	68 84 00 00 00       	push   $0x84
40183a:	6a 00                	push   $0x0
40183c:	56                   	push   %esi
40183d:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
401841:	e8 ca a3 01 00       	call   0x41bc10
401846:	83 c4 10             	add    $0x10,%esp
401849:	8b ce                	mov    %esi,%ecx
40184b:	e8 60 1d 00 00       	call   0x4035b0
401850:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401854:	a3 20 72 45 00       	mov    %eax,0x457220
401859:	8b 78 04             	mov    0x4(%eax),%edi
40185c:	8d 70 04             	lea    0x4(%eax),%esi
40185f:	ff 15 6c e0 43 00    	call   *0x43e06c
401865:	50                   	push   %eax
401866:	68 40 cf 44 00       	push   $0x44cf40
40186b:	68 54 9f 44 00       	push   $0x449f54
401870:	56                   	push   %esi
401871:	8b 77 24             	mov    0x24(%edi),%esi
401874:	8b ce                	mov    %esi,%ecx
401876:	ff 15 5c e2 43 00    	call   *0x43e25c
40187c:	ff d6                	call   *%esi
40187e:	83 c4 10             	add    $0x10,%esp
401881:	83 7d cc 04          	cmpl   $0x4,-0x34(%ebp)
401885:	a1 20 72 45 00       	mov    0x457220,%eax
40188a:	75 58                	jne    0x4018e4
40188c:	85 c0                	test   %eax,%eax
40188e:	75 33                	jne    0x4018c3
401890:	68 84 00 00 00       	push   $0x84
401895:	e8 2c 83 01 00       	call   0x419bc6
40189a:	8b f0                	mov    %eax,%esi
40189c:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40189f:	68 84 00 00 00       	push   $0x84
4018a4:	6a 00                	push   $0x0
4018a6:	56                   	push   %esi
4018a7:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4018ab:	e8 60 a3 01 00       	call   0x41bc10
4018b0:	83 c4 10             	add    $0x10,%esp
4018b3:	8b ce                	mov    %esi,%ecx
4018b5:	e8 f6 1c 00 00       	call   0x4035b0
4018ba:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4018be:	a3 20 72 45 00       	mov    %eax,0x457220
4018c3:	68 50 d1 44 00       	push   $0x44d150
4018c8:	8b 48 04             	mov    0x4(%eax),%ecx
4018cb:	83 c0 04             	add    $0x4,%eax
4018ce:	50                   	push   %eax
4018cf:	8b 71 14             	mov    0x14(%ecx),%esi
4018d2:	8b ce                	mov    %esi,%ecx
4018d4:	ff 15 5c e2 43 00    	call   *0x43e25c
4018da:	ff d6                	call   *%esi
4018dc:	83 c4 08             	add    $0x8,%esp
4018df:	e9 d8 01 00 00       	jmp    0x401abc
4018e4:	85 c0                	test   %eax,%eax
4018e6:	75 33                	jne    0x40191b
4018e8:	68 84 00 00 00       	push   $0x84
4018ed:	e8 d4 82 01 00       	call   0x419bc6
4018f2:	8b f0                	mov    %eax,%esi
4018f4:	89 75 c4             	mov    %esi,-0x3c(%ebp)
4018f7:	68 84 00 00 00       	push   $0x84
4018fc:	6a 00                	push   $0x0
4018fe:	56                   	push   %esi
4018ff:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
401903:	e8 08 a3 01 00       	call   0x41bc10
401908:	83 c4 10             	add    $0x10,%esp
40190b:	8b ce                	mov    %esi,%ecx
40190d:	e8 9e 1c 00 00       	call   0x4035b0
401912:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401916:	a3 20 72 45 00       	mov    %eax,0x457220
40191b:	8b 48 04             	mov    0x4(%eax),%ecx
40191e:	83 c0 04             	add    $0x4,%eax
401921:	68 b0 d1 44 00       	push   $0x44d1b0
401926:	68 54 9f 44 00       	push   $0x449f54
40192b:	50                   	push   %eax
40192c:	8b 71 0c             	mov    0xc(%ecx),%esi
40192f:	8b ce                	mov    %esi,%ecx
401931:	ff 15 5c e2 43 00    	call   *0x43e25c
401937:	ff d6                	call   *%esi
401939:	a1 20 72 45 00       	mov    0x457220,%eax
40193e:	83 c4 0c             	add    $0xc,%esp
401941:	85 c0                	test   %eax,%eax
401943:	75 33                	jne    0x401978
401945:	68 84 00 00 00       	push   $0x84
40194a:	e8 77 82 01 00       	call   0x419bc6
40194f:	8b f0                	mov    %eax,%esi
401951:	89 75 c4             	mov    %esi,-0x3c(%ebp)
401954:	68 84 00 00 00       	push   $0x84
401959:	6a 00                	push   $0x0
40195b:	56                   	push   %esi
40195c:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
401960:	e8 ab a2 01 00       	call   0x41bc10
401965:	83 c4 10             	add    $0x10,%esp
401968:	8b ce                	mov    %esi,%ecx
40196a:	e8 41 1c 00 00       	call   0x4035b0
40196f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401973:	a3 20 72 45 00       	mov    %eax,0x457220
401978:	ff 75 cc             	push   -0x34(%ebp)
40197b:	8b 70 04             	mov    0x4(%eax),%esi
40197e:	83 c0 04             	add    $0x4,%eax
401981:	68 00 d2 44 00       	push   $0x44d200
401986:	68 54 9f 44 00       	push   $0x449f54
40198b:	50                   	push   %eax
40198c:	8b 76 0c             	mov    0xc(%esi),%esi
40198f:	8b ce                	mov    %esi,%ecx
401991:	ff 15 5c e2 43 00    	call   *0x43e25c
401997:	ff d6                	call   *%esi
401999:	a1 20 72 45 00       	mov    0x457220,%eax
40199e:	83 c4 10             	add    $0x10,%esp
4019a1:	85 c0                	test   %eax,%eax
4019a3:	75 33                	jne    0x4019d8
4019a5:	68 84 00 00 00       	push   $0x84
4019aa:	e8 17 82 01 00       	call   0x419bc6
4019af:	8b f0                	mov    %eax,%esi
4019b1:	89 75 c4             	mov    %esi,-0x3c(%ebp)
4019b4:	68 84 00 00 00       	push   $0x84
4019b9:	6a 00                	push   $0x0
4019bb:	56                   	push   %esi
4019bc:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
4019c0:	e8 4b a2 01 00       	call   0x41bc10
4019c5:	83 c4 10             	add    $0x10,%esp
4019c8:	8b ce                	mov    %esi,%ecx
4019ca:	e8 e1 1b 00 00       	call   0x4035b0
4019cf:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4019d3:	a3 20 72 45 00       	mov    %eax,0x457220
4019d8:	ff 75 d4             	push   -0x2c(%ebp)
4019db:	8b 70 04             	mov    0x4(%eax),%esi
4019de:	83 c0 04             	add    $0x4,%eax
4019e1:	68 44 d2 44 00       	push   $0x44d244
4019e6:	68 54 9f 44 00       	push   $0x449f54
4019eb:	50                   	push   %eax
4019ec:	8b 76 0c             	mov    0xc(%esi),%esi
4019ef:	8b ce                	mov    %esi,%ecx
4019f1:	ff 15 5c e2 43 00    	call   *0x43e25c
4019f7:	ff d6                	call   *%esi
4019f9:	a1 20 72 45 00       	mov    0x457220,%eax
4019fe:	83 c4 10             	add    $0x10,%esp
401a01:	85 c0                	test   %eax,%eax
401a03:	75 33                	jne    0x401a38
401a05:	68 84 00 00 00       	push   $0x84
401a0a:	e8 b7 81 01 00       	call   0x419bc6
401a0f:	8b f0                	mov    %eax,%esi
401a11:	89 75 c4             	mov    %esi,-0x3c(%ebp)
401a14:	68 84 00 00 00       	push   $0x84
401a19:	6a 00                	push   $0x0
401a1b:	56                   	push   %esi
401a1c:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
401a20:	e8 eb a1 01 00       	call   0x41bc10
401a25:	83 c4 10             	add    $0x10,%esp
401a28:	8b ce                	mov    %esi,%ecx
401a2a:	e8 81 1b 00 00       	call   0x4035b0
401a2f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401a33:	a3 20 72 45 00       	mov    %eax,0x457220
401a38:	ff 75 dc             	push   -0x24(%ebp)
401a3b:	8b 70 04             	mov    0x4(%eax),%esi
401a3e:	83 c0 04             	add    $0x4,%eax
401a41:	68 88 d2 44 00       	push   $0x44d288
401a46:	68 54 9f 44 00       	push   $0x449f54
401a4b:	50                   	push   %eax
401a4c:	8b 76 0c             	mov    0xc(%esi),%esi
401a4f:	8b ce                	mov    %esi,%ecx
401a51:	ff 15 5c e2 43 00    	call   *0x43e25c
401a57:	ff d6                	call   *%esi
401a59:	a1 20 72 45 00       	mov    0x457220,%eax
401a5e:	83 c4 10             	add    $0x10,%esp
401a61:	85 c0                	test   %eax,%eax
401a63:	75 33                	jne    0x401a98
401a65:	68 84 00 00 00       	push   $0x84
401a6a:	e8 57 81 01 00       	call   0x419bc6
401a6f:	8b f0                	mov    %eax,%esi
401a71:	89 75 c4             	mov    %esi,-0x3c(%ebp)
401a74:	68 84 00 00 00       	push   $0x84
401a79:	6a 00                	push   $0x0
401a7b:	56                   	push   %esi
401a7c:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
401a80:	e8 8b a1 01 00       	call   0x41bc10
401a85:	83 c4 10             	add    $0x10,%esp
401a88:	8b ce                	mov    %esi,%ecx
401a8a:	e8 21 1b 00 00       	call   0x4035b0
401a8f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401a93:	a3 20 72 45 00       	mov    %eax,0x457220
401a98:	ff 75 e0             	push   -0x20(%ebp)
401a9b:	8b 70 04             	mov    0x4(%eax),%esi
401a9e:	83 c0 04             	add    $0x4,%eax
401aa1:	68 c8 d2 44 00       	push   $0x44d2c8
401aa6:	68 54 9f 44 00       	push   $0x449f54
401aab:	50                   	push   %eax
401aac:	8b 76 0c             	mov    0xc(%esi),%esi
401aaf:	8b ce                	mov    %esi,%ecx
401ab1:	ff 15 5c e2 43 00    	call   *0x43e25c
401ab7:	ff d6                	call   *%esi
401ab9:	83 c4 10             	add    $0x10,%esp
401abc:	b3 01                	mov    $0x1,%bl
401abe:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
401ac1:	83 f9 08             	cmp    $0x8,%ecx
401ac4:	72 2e                	jb     0x401af4
401ac6:	8b 55 08             	mov    0x8(%ebp),%edx
401ac9:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
401ad0:	8b c2                	mov    %edx,%eax
401ad2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
401ad8:	72 10                	jb     0x401aea
401ada:	8b 50 fc             	mov    -0x4(%eax),%edx
401add:	83 c1 23             	add    $0x23,%ecx
401ae0:	2b c2                	sub    %edx,%eax
401ae2:	83 c0 fc             	add    $0xfffffffc,%eax
401ae5:	83 f8 1f             	cmp    $0x1f,%eax
401ae8:	77 2a                	ja     0x401b14
401aea:	51                   	push   %ecx
401aeb:	52                   	push   %edx
401aec:	e8 c7 80 01 00       	call   0x419bb8
401af1:	83 c4 08             	add    $0x8,%esp
401af4:	8a c3                	mov    %bl,%al
401af6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401af9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401b00:	59                   	pop    %ecx
401b01:	5f                   	pop    %edi
401b02:	5e                   	pop    %esi
401b03:	5b                   	pop    %ebx
401b04:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401b07:	33 cd                	xor    %ebp,%ecx
401b09:	e8 9c 80 01 00       	call   0x419baa
401b0e:	8b e5                	mov    %ebp,%esp
401b10:	5d                   	pop    %ebp
401b11:	c2 18 00             	ret    $0x18
401b14:	e8 7a de 01 00       	call   0x41f993
401b19:	cc                   	int3
401b1a:	cc                   	int3
401b1b:	cc                   	int3
401b1c:	cc                   	int3
401b1d:	cc                   	int3
401b1e:	cc                   	int3
401b1f:	cc                   	int3
401b20:	55                   	push   %ebp
401b21:	8b ec                	mov    %esp,%ebp
401b23:	6a ff                	push   $0xffffffff
401b25:	68 e5 b5 43 00       	push   $0x43b5e5
401b2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401b30:	50                   	push   %eax
401b31:	83 ec 30             	sub    $0x30,%esp
401b34:	a1 14 50 45 00       	mov    0x455014,%eax
401b39:	33 c5                	xor    %ebp,%eax
401b3b:	89 45 f0             	mov    %eax,-0x10(%ebp)
401b3e:	53                   	push   %ebx
401b3f:	56                   	push   %esi
401b40:	57                   	push   %edi
401b41:	50                   	push   %eax
401b42:	8d 45 f4             	lea    -0xc(%ebp),%eax
401b45:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401b4b:	8b fa                	mov    %edx,%edi
401b4d:	8b d9                	mov    %ecx,%ebx
401b4f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401b56:	a1 20 72 45 00       	mov    0x457220,%eax
401b5b:	85 c0                	test   %eax,%eax
401b5d:	75 33                	jne    0x401b92
401b5f:	68 84 00 00 00       	push   $0x84
401b64:	e8 5d 80 01 00       	call   0x419bc6
401b69:	8b f0                	mov    %eax,%esi
401b6b:	89 75 c4             	mov    %esi,-0x3c(%ebp)
401b6e:	68 84 00 00 00       	push   $0x84
401b73:	6a 00                	push   $0x0
401b75:	56                   	push   %esi
401b76:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
401b7a:	e8 91 a0 01 00       	call   0x41bc10
401b7f:	83 c4 10             	add    $0x10,%esp
401b82:	8b ce                	mov    %esi,%ecx
401b84:	e8 27 1a 00 00       	call   0x4035b0
401b89:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401b8d:	a3 20 72 45 00       	mov    %eax,0x457220
401b92:	8b 48 04             	mov    0x4(%eax),%ecx
401b95:	83 c0 04             	add    $0x4,%eax
401b98:	68 04 d3 44 00       	push   $0x44d304
401b9d:	50                   	push   %eax
401b9e:	8b 71 14             	mov    0x14(%ecx),%esi
401ba1:	8b ce                	mov    %esi,%ecx
401ba3:	ff 15 5c e2 43 00    	call   *0x43e25c
401ba9:	ff d6                	call   *%esi
401bab:	83 c4 08             	add    $0x8,%esp
401bae:	85 db                	test   %ebx,%ebx
401bb0:	0f 85 1e 01 00 00    	jne    0x401cd4
401bb6:	85 ff                	test   %edi,%edi
401bb8:	0f 85 16 01 00 00    	jne    0x401cd4
401bbe:	39 7d 18             	cmp    %edi,0x18(%ebp)
401bc1:	75 0f                	jne    0x401bd2
401bc3:	6a 12                	push   $0x12
401bc5:	68 e0 cd 44 00       	push   $0x44cde0
401bca:	8d 4d 08             	lea    0x8(%ebp),%ecx
401bcd:	e8 1e 13 00 00       	call   0x402ef0
401bd2:	68 3f 00 0f 00       	push   $0xf003f
401bd7:	6a 00                	push   $0x0
401bd9:	6a 00                	push   $0x0
401bdb:	ff 15 20 e0 43 00    	call   *0x43e020
401be1:	8b d8                	mov    %eax,%ebx
401be3:	85 db                	test   %ebx,%ebx
401be5:	0f 84 96 00 00 00    	je     0x401c81
401beb:	83 fb ff             	cmp    $0xffffffff,%ebx
401bee:	0f 84 8d 00 00 00    	je     0x401c81
401bf4:	83 7d 1c 08          	cmpl   $0x8,0x1c(%ebp)
401bf8:	8d 4d 08             	lea    0x8(%ebp),%ecx
401bfb:	68 ff 01 0f 00       	push   $0xf01ff
401c00:	0f 43 4d 08          	cmovae 0x8(%ebp),%ecx
401c04:	51                   	push   %ecx
401c05:	53                   	push   %ebx
401c06:	ff 15 0c e0 43 00    	call   *0x43e00c
401c0c:	8b f8                	mov    %eax,%edi
401c0e:	ff 15 6c e0 43 00    	call   *0x43e06c