43577e:	03 c6                	add    %esi,%eax
435780:	57                   	push   %edi
435781:	6a 00                	push   $0x0
435783:	50                   	push   %eax
435784:	e8 27 64 03 00       	call   0x46bbb0
435789:	8b 75 fc             	mov    -0x4(%ebp),%esi
43578c:	8b 7d f4             	mov    -0xc(%ebp),%edi
43578f:	8b 47 04             	mov    0x4(%edi),%eax
435792:	83 c4 0c             	add    $0xc,%esp
435795:	85 c0                	test   %eax,%eax
435797:	74 2a                	je     0x4357c3
435799:	8b 4f 08             	mov    0x8(%edi),%ecx
43579c:	c1 e1 02             	shl    $0x2,%ecx
43579f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4357a5:	72 12                	jb     0x4357b9
4357a7:	8b 50 fc             	mov    -0x4(%eax),%edx
4357aa:	83 c1 23             	add    $0x23,%ecx
4357ad:	2b c2                	sub    %edx,%eax
4357af:	83 c0 fc             	add    $0xfffffffc,%eax
4357b2:	83 f8 1f             	cmp    $0x1f,%eax
4357b5:	77 20                	ja     0x4357d7
4357b7:	8b c2                	mov    %edx,%eax
4357b9:	51                   	push   %ecx
4357ba:	50                   	push   %eax
4357bb:	e8 48 42 03 00       	call   0x469a08
4357c0:	83 c4 08             	add    $0x8,%esp
4357c3:	01 5f 08             	add    %ebx,0x8(%edi)
4357c6:	89 77 04             	mov    %esi,0x4(%edi)
4357c9:	5f                   	pop    %edi
4357ca:	5e                   	pop    %esi
4357cb:	5b                   	pop    %ebx
4357cc:	8b e5                	mov    %ebp,%esp
4357ce:	5d                   	pop    %ebp
4357cf:	c2 04 00             	ret    $0x4
4357d2:	e8 19 00 00 00       	call   0x4357f0
4357d7:	e8 55 3e 04 00       	call   0x479631
4357dc:	e8 5f bb fc ff       	call   0x401340
4357e1:	cc                   	int3
4357e2:	cc                   	int3
4357e3:	cc                   	int3
4357e4:	cc                   	int3
4357e5:	cc                   	int3
4357e6:	cc                   	int3
4357e7:	cc                   	int3
4357e8:	cc                   	int3
4357e9:	cc                   	int3
4357ea:	cc                   	int3
4357eb:	cc                   	int3
4357ec:	cc                   	int3
4357ed:	cc                   	int3
4357ee:	cc                   	int3
4357ef:	cc                   	int3
4357f0:	68 cc f2 4a 00       	push   $0x4af2cc
4357f5:	e8 40 2f 03 00       	call   0x46873a
4357fa:	cc                   	int3
4357fb:	cc                   	int3
4357fc:	cc                   	int3
4357fd:	cc                   	int3
4357fe:	cc                   	int3
4357ff:	cc                   	int3
435800:	55                   	push   %ebp
435801:	8b ec                	mov    %esp,%ebp
435803:	51                   	push   %ecx
435804:	53                   	push   %ebx
435805:	56                   	push   %esi
435806:	8b f1                	mov    %ecx,%esi
435808:	89 55 fc             	mov    %edx,-0x4(%ebp)
43580b:	57                   	push   %edi
43580c:	8b c6                	mov    %esi,%eax
43580e:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
435812:	72 02                	jb     0x435816
435814:	8b 06                	mov    (%esi),%eax
435816:	6a 00                	push   $0x0
435818:	6a 00                	push   $0x0
43581a:	6a 00                	push   $0x0
43581c:	6a 00                	push   $0x0
43581e:	6a ff                	push   $0xffffffff
435820:	50                   	push   %eax
435821:	6a 00                	push   $0x0
435823:	68 e9 fd 00 00       	push   $0xfde9
435828:	ff 15 4c e0 49 00    	call   *0x49e04c
43582e:	8d 58 01             	lea    0x1(%eax),%ebx
435831:	53                   	push   %ebx
435832:	e8 62 44 03 00       	call   0x469c99
435837:	83 c4 04             	add    $0x4,%esp
43583a:	8b f8                	mov    %eax,%edi
43583c:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
435840:	72 02                	jb     0x435844
435842:	8b 36                	mov    (%esi),%esi
435844:	6a 00                	push   $0x0
435846:	6a 00                	push   $0x0
435848:	53                   	push   %ebx
435849:	57                   	push   %edi
43584a:	6a ff                	push   $0xffffffff
43584c:	56                   	push   %esi
43584d:	6a 00                	push   $0x0
43584f:	68 e9 fd 00 00       	push   $0xfde9
435854:	ff 15 4c e0 49 00    	call   *0x49e04c
43585a:	85 c0                	test   %eax,%eax
43585c:	7f 12                	jg     0x435870
43585e:	57                   	push   %edi
43585f:	e8 30 44 03 00       	call   0x469c94
435864:	83 c4 04             	add    $0x4,%esp
435867:	32 c0                	xor    %al,%al
435869:	5f                   	pop    %edi
43586a:	5e                   	pop    %esi
43586b:	5b                   	pop    %ebx
43586c:	8b e5                	mov    %ebp,%esp
43586e:	5d                   	pop    %ebp
43586f:	c3                   	ret
435870:	8b cf                	mov    %edi,%ecx
435872:	8d 51 01             	lea    0x1(%ecx),%edx
435875:	8a 01                	mov    (%ecx),%al
435877:	41                   	inc    %ecx
435878:	84 c0                	test   %al,%al
43587a:	75 f9                	jne    0x435875
43587c:	2b ca                	sub    %edx,%ecx
43587e:	51                   	push   %ecx
43587f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435882:	57                   	push   %edi
435883:	e8 68 bb fc ff       	call   0x4013f0
435888:	57                   	push   %edi
435889:	e8 06 44 03 00       	call   0x469c94
43588e:	83 c4 04             	add    $0x4,%esp
435891:	b0 01                	mov    $0x1,%al
435893:	5f                   	pop    %edi
435894:	5e                   	pop    %esi
435895:	5b                   	pop    %ebx
435896:	8b e5                	mov    %ebp,%esp
435898:	5d                   	pop    %ebp
435899:	c3                   	ret
43589a:	cc                   	int3
43589b:	cc                   	int3
43589c:	cc                   	int3
43589d:	cc                   	int3
43589e:	cc                   	int3
43589f:	cc                   	int3
4358a0:	55                   	push   %ebp
4358a1:	8b ec                	mov    %esp,%ebp
4358a3:	51                   	push   %ecx
4358a4:	53                   	push   %ebx
4358a5:	56                   	push   %esi
4358a6:	8b f1                	mov    %ecx,%esi
4358a8:	89 55 fc             	mov    %edx,-0x4(%ebp)
4358ab:	57                   	push   %edi
4358ac:	8b c6                	mov    %esi,%eax
4358ae:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4358b2:	72 02                	jb     0x4358b6
4358b4:	8b 06                	mov    (%esi),%eax
4358b6:	6a 00                	push   $0x0
4358b8:	6a 00                	push   $0x0
4358ba:	6a ff                	push   $0xffffffff
4358bc:	50                   	push   %eax
4358bd:	6a 00                	push   $0x0
4358bf:	68 e9 fd 00 00       	push   $0xfde9
4358c4:	ff 15 6c e0 49 00    	call   *0x49e06c
4358ca:	8b d8                	mov    %eax,%ebx
4358cc:	33 c9                	xor    %ecx,%ecx
4358ce:	ba 02 00 00 00       	mov    $0x2,%edx
4358d3:	8d 43 01             	lea    0x1(%ebx),%eax
4358d6:	f7 e2                	mul    %edx
4358d8:	0f 90 c1             	seto   %cl
4358db:	f7 d9                	neg    %ecx
4358dd:	0b c8                	or     %eax,%ecx
4358df:	51                   	push   %ecx
4358e0:	e8 1c 3e 04 00       	call   0x479701
4358e5:	8b f8                	mov    %eax,%edi
4358e7:	83 c4 04             	add    $0x4,%esp
4358ea:	85 ff                	test   %edi,%edi
4358ec:	74 27                	je     0x435915
4358ee:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4358f2:	72 02                	jb     0x4358f6
4358f4:	8b 36                	mov    (%esi),%esi
4358f6:	53                   	push   %ebx
4358f7:	57                   	push   %edi
4358f8:	6a ff                	push   $0xffffffff
4358fa:	56                   	push   %esi
4358fb:	6a 00                	push   $0x0
4358fd:	68 e9 fd 00 00       	push   $0xfde9
435902:	ff 15 6c e0 49 00    	call   *0x49e06c
435908:	85 c0                	test   %eax,%eax
43590a:	7f 12                	jg     0x43591e
43590c:	57                   	push   %edi
43590d:	e8 70 3d 04 00       	call   0x479682
435912:	83 c4 04             	add    $0x4,%esp
435915:	5f                   	pop    %edi
435916:	5e                   	pop    %esi
435917:	32 c0                	xor    %al,%al
435919:	5b                   	pop    %ebx
43591a:	8b e5                	mov    %ebp,%esp
43591c:	5d                   	pop    %ebp
43591d:	c3                   	ret
43591e:	8b cf                	mov    %edi,%ecx
435920:	33 c0                	xor    %eax,%eax
435922:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
435926:	8d 51 02             	lea    0x2(%ecx),%edx
435929:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
435930:	66 8b 01             	mov    (%ecx),%ax
435933:	83 c1 02             	add    $0x2,%ecx
435936:	66 85 c0             	test   %ax,%ax
435939:	75 f5                	jne    0x435930
43593b:	2b ca                	sub    %edx,%ecx
43593d:	d1 f9                	sar    $1,%ecx
43593f:	51                   	push   %ecx
435940:	8b 4d fc             	mov    -0x4(%ebp),%ecx
435943:	57                   	push   %edi
435944:	e8 b7 d4 fc ff       	call   0x402e00
435949:	57                   	push   %edi
43594a:	e8 33 3d 04 00       	call   0x479682
43594f:	83 c4 04             	add    $0x4,%esp
435952:	b0 01                	mov    $0x1,%al
435954:	5f                   	pop    %edi
435955:	5e                   	pop    %esi
435956:	5b                   	pop    %ebx
435957:	8b e5                	mov    %ebp,%esp
435959:	5d                   	pop    %ebp
43595a:	c3                   	ret
43595b:	cc                   	int3
43595c:	cc                   	int3
43595d:	cc                   	int3
43595e:	cc                   	int3
43595f:	cc                   	int3
435960:	55                   	push   %ebp
435961:	8b ec                	mov    %esp,%ebp
435963:	83 e4 f0             	and    $0xfffffff0,%esp
435966:	81 ec 58 04 00 00    	sub    $0x458,%esp
43596c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
435971:	33 c4                	xor    %esp,%eax
435973:	89 84 24 54 04 00 00 	mov    %eax,0x454(%esp)
43597a:	56                   	push   %esi
43597b:	57                   	push   %edi
43597c:	8d 44 24 20          	lea    0x20(%esp),%eax
435980:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
435984:	50                   	push   %eax
435985:	8b f2                	mov    %edx,%esi
435987:	ff 15 d4 e1 49 00    	call   *0x49e1d4
43598d:	0f 28 44 24 20       	movaps 0x20(%esp),%xmm0
435992:	8d 44 24 38          	lea    0x38(%esp),%eax
435996:	50                   	push   %eax
435997:	8d 44 24 44          	lea    0x44(%esp),%eax
43599b:	0f 29 44 24 44       	movaps %xmm0,0x44(%esp)
4359a0:	50                   	push   %eax
4359a1:	ff 15 dc e1 49 00    	call   *0x49e1dc
4359a7:	8b 54 24 3c          	mov    0x3c(%esp),%edx
4359ab:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4359af:	e8 bc 07 06 00       	call   0x496170
4359b4:	69 c6 80 51 01 00    	imul   $0x15180,%esi,%eax
4359ba:	66 0f 6e c8          	movd   %eax,%xmm1
4359be:	f3 0f e6 c9          	cvtdq2pd %xmm1,%xmm1
4359c2:	f2 0f 5e 0d 58 73 4b 	divsd  0x4b7358,%xmm1
4359c9:	00
4359ca:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
4359ce:	0f 57 c0             	xorps  %xmm0,%xmm0
4359d1:	66 0f 13 44 24 10    	movlpd %xmm0,0x10(%esp)
4359d7:	f2 0f 10 05 80 73 4b 	movsd  0x4b7380,%xmm0
4359de:	00
4359df:	66 0f 2f c8          	comisd %xmm0,%xmm1
4359e3:	72 1d                	jb     0x435a02
4359e5:	f2 0f 5c c8          	subsd  %xmm0,%xmm1
4359e9:	66 0f 2f c1          	comisd %xmm1,%xmm0
4359ed:	76 13                	jbe    0x435a02
4359ef:	8b 74 24 10          	mov    0x10(%esp),%esi
4359f3:	8b 7c 24 14          	mov    0x14(%esp),%edi
4359f7:	83 c6 00             	add    $0x0,%esi
4359fa:	81 d7 00 00 00 80    	adc    $0x80000000,%edi
435a00:	eb 08                	jmp    0x435a0a
435a02:	8b 7c 24 14          	mov    0x14(%esp),%edi
435a06:	8b 74 24 10          	mov    0x10(%esp),%esi
435a0a:	0f 28 c1             	movaps %xmm1,%xmm0
435a0d:	e8 ae 06 06 00       	call   0x4960c0
435a12:	03 c6                	add    %esi,%eax
435a14:	89 44 24 38          	mov    %eax,0x38(%esp)
435a18:	8d 44 24 40          	lea    0x40(%esp),%eax
435a1c:	50                   	push   %eax
435a1d:	8d 44 24 3c          	lea    0x3c(%esp),%eax
435a21:	13 d7                	adc    %edi,%edx
435a23:	50                   	push   %eax
435a24:	89 54 24 44          	mov    %edx,0x44(%esp)
435a28:	ff 15 d0 e1 49 00    	call   *0x49e1d0
435a2e:	0f 28 44 24 40       	movaps 0x40(%esp),%xmm0
435a33:	8d 84 24 58 02 00 00 	lea    0x258(%esp),%eax
435a3a:	68 00 01 00 00       	push   $0x100
435a3f:	50                   	push   %eax
435a40:	68 a8 50 4b 00       	push   $0x4b50a8
435a45:	8d 44 24 2c          	lea    0x2c(%esp),%eax
435a49:	0f 29 44 24 2c       	movaps %xmm0,0x2c(%esp)
435a4e:	50                   	push   %eax
435a4f:	6a 00                	push   $0x0
435a51:	68 00 04 00 00       	push   $0x400
435a56:	ff 15 e0 e1 49 00    	call   *0x49e1e0
435a5c:	8d 84 24 58 02 00 00 	lea    0x258(%esp),%eax
435a63:	50                   	push   %eax
435a64:	68 bc 50 4b 00       	push   $0x4b50bc
435a69:	8d 44 24 60          	lea    0x60(%esp),%eax
435a6d:	68 00 01 00 00       	push   $0x100
435a72:	50                   	push   %eax
435a73:	e8 e8 ad fe ff       	call   0x420860
435a78:	83 c4 10             	add    $0x10,%esp
435a7b:	83 f8 ff             	cmp    $0xffffffff,%eax
435a7e:	75 16                	jne    0x435a96
435a80:	32 c0                	xor    %al,%al
435a82:	5f                   	pop    %edi
435a83:	5e                   	pop    %esi
435a84:	8b 8c 24 54 04 00 00 	mov    0x454(%esp),%ecx
435a8b:	33 cc                	xor    %esp,%ecx
435a8d:	e8 38 3f 03 00       	call   0x4699ca
435a92:	8b e5                	mov    %ebp,%esp
435a94:	5d                   	pop    %ebp
435a95:	c3                   	ret
435a96:	8d 54 24 58          	lea    0x58(%esp),%edx
435a9a:	8d 72 02             	lea    0x2(%edx),%esi
435a9d:	0f 1f 00             	nopl   (%eax)
435aa0:	66 8b 02             	mov    (%edx),%ax
435aa3:	83 c2 02             	add    $0x2,%edx
435aa6:	66 85 c0             	test   %ax,%ax
435aa9:	75 f5                	jne    0x435aa0
435aab:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
435aaf:	8d 44 24 58          	lea    0x58(%esp),%eax
435ab3:	2b d6                	sub    %esi,%edx
435ab5:	d1 fa                	sar    $1,%edx
435ab7:	52                   	push   %edx
435ab8:	50                   	push   %eax
435ab9:	e8 42 d3 fc ff       	call   0x402e00
435abe:	8b 8c 24 5c 04 00 00 	mov    0x45c(%esp),%ecx
435ac5:	b0 01                	mov    $0x1,%al
435ac7:	5f                   	pop    %edi
435ac8:	5e                   	pop    %esi
435ac9:	33 cc                	xor    %esp,%ecx
435acb:	e8 fa 3e 03 00       	call   0x4699ca
435ad0:	8b e5                	mov    %ebp,%esp
435ad2:	5d                   	pop    %ebp
435ad3:	c3                   	ret
435ad4:	cc                   	int3
435ad5:	cc                   	int3
435ad6:	cc                   	int3
435ad7:	cc                   	int3
435ad8:	cc                   	int3
435ad9:	cc                   	int3
435ada:	cc                   	int3
435adb:	cc                   	int3
435adc:	cc                   	int3
435add:	cc                   	int3
435ade:	cc                   	int3
435adf:	cc                   	int3
435ae0:	55                   	push   %ebp
435ae1:	8b ec                	mov    %esp,%ebp
435ae3:	83 e4 f8             	and    $0xfffffff8,%esp
435ae6:	81 ec 1c 06 00 00    	sub    $0x61c,%esp
435aec:	a1 14 40 4c 00       	mov    0x4c4014,%eax
435af1:	33 c4                	xor    %esp,%eax