43367b:	74 0f                	je     0x43368c
43367d:	8a 04 0e             	mov    (%esi,%ecx,1),%al
433680:	84 c0                	test   %al,%al
433682:	74 08                	je     0x43368c
433684:	88 01                	mov    %al,(%ecx)
433686:	41                   	inc    %ecx
433687:	83 ea 01             	sub    $0x1,%edx
43368a:	75 ea                	jne    0x433676
43368c:	5e                   	pop    %esi
43368d:	85 d2                	test   %edx,%edx
43368f:	75 01                	jne    0x433692
433691:	49                   	dec    %ecx
433692:	f7 da                	neg    %edx
433694:	c6 01 00             	movb   $0x0,(%ecx)
433697:	1b d2                	sbb    %edx,%edx
433699:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
43369f:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
4336a5:	c9                   	leave
4336a6:	c2 0c 00             	ret    $0xc
4336a9:	8b ff                	mov    %edi,%edi
4336ab:	55                   	push   %ebp
4336ac:	8b ec                	mov    %esp,%ebp
4336ae:	53                   	push   %ebx
4336af:	56                   	push   %esi
4336b0:	57                   	push   %edi
4336b1:	ff 75 10             	push   0x10(%ebp)
4336b4:	8d 72 ff             	lea    -0x1(%edx),%esi
4336b7:	8b f9                	mov    %ecx,%edi
4336b9:	ff 75 0c             	push   0xc(%ebp)
4336bc:	33 db                	xor    %ebx,%ebx
4336be:	56                   	push   %esi
4336bf:	57                   	push   %edi
4336c0:	ff 15 94 a4 43 00    	call   *0x43a494
4336c6:	83 c4 10             	add    $0x10,%esp
4336c9:	85 c0                	test   %eax,%eax
4336cb:	78 0b                	js     0x4336d8
4336cd:	3b c6                	cmp    %esi,%eax
4336cf:	77 07                	ja     0x4336d8
4336d1:	75 0d                	jne    0x4336e0
4336d3:	88 1c 3e             	mov    %bl,(%esi,%edi,1)
4336d6:	eb 08                	jmp    0x4336e0
4336d8:	88 1c 3e             	mov    %bl,(%esi,%edi,1)
4336db:	bb 7a 00 07 80       	mov    $0x8007007a,%ebx
4336e0:	5f                   	pop    %edi
4336e1:	5e                   	pop    %esi
4336e2:	8b c3                	mov    %ebx,%eax
4336e4:	5b                   	pop    %ebx
4336e5:	5d                   	pop    %ebp
4336e6:	c2 0c 00             	ret    $0xc
4336e9:	8b ff                	mov    %edi,%edi
4336eb:	55                   	push   %ebp
4336ec:	8b ec                	mov    %esp,%ebp
4336ee:	8b 4d 08             	mov    0x8(%ebp),%ecx
4336f1:	8b 01                	mov    (%ecx),%eax
4336f3:	85 c0                	test   %eax,%eax
4336f5:	75 05                	jne    0x4336fc
4336f7:	b8 64 7f 40 00       	mov    $0x407f64,%eax
4336fc:	8d 55 10             	lea    0x10(%ebp),%edx
4336ff:	52                   	push   %edx
433700:	ff 75 0c             	push   0xc(%ebp)
433703:	ff 71 08             	push   0x8(%ecx)
433706:	ff 71 0c             	push   0xc(%ecx)
433709:	ff 71 04             	push   0x4(%ecx)
43370c:	50                   	push   %eax
43370d:	51                   	push   %ecx
43370e:	8b 49 10             	mov    0x10(%ecx),%ecx
433711:	e8 02 00 00 00       	call   0x433718
433716:	5d                   	pop    %ebp
433717:	c3                   	ret
433718:	68 30 06 00 00       	push   $0x630
43371d:	b8 ae f8 41 00       	mov    $0x41f8ae,%eax
433722:	e8 1a 77 fe ff       	call   0x41ae41
433727:	8b d9                	mov    %ecx,%ebx
433729:	8b 45 0c             	mov    0xc(%ebp),%eax
43372c:	89 85 c8 f9 ff ff    	mov    %eax,-0x638(%ebp)
433732:	8b 45 18             	mov    0x18(%ebp),%eax
433735:	89 85 d4 f9 ff ff    	mov    %eax,-0x62c(%ebp)
43373b:	8b 45 1c             	mov    0x1c(%ebp),%eax
43373e:	89 85 d0 f9 ff ff    	mov    %eax,-0x630(%ebp)
433744:	8b 45 20             	mov    0x20(%ebp),%eax
433747:	89 85 c4 f9 ff ff    	mov    %eax,-0x63c(%ebp)
43374d:	8d 85 d8 f9 ff ff    	lea    -0x628(%ebp),%eax
433753:	50                   	push   %eax
433754:	ff 15 10 a3 43 00    	call   *0x43a310
43375a:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
43375e:	0f 84 f5 03 00 00    	je     0x433b59
433764:	68 9c 7e 40 00       	push   $0x407e9c
433769:	8d 85 e8 f9 ff ff    	lea    -0x618(%ebp),%eax
43376f:	68 05 06 00 00       	push   $0x605
433774:	50                   	push   %eax
433775:	e8 76 fe ff ff       	call   0x4335f0
43377a:	8d b5 e8 f9 ff ff    	lea    -0x618(%ebp),%esi
433780:	83 c4 0c             	add    $0xc,%esp
433783:	8d 4e 01             	lea    0x1(%esi),%ecx
433786:	8a 06                	mov    (%esi),%al
433788:	46                   	inc    %esi
433789:	84 c0                	test   %al,%al
43378b:	75 f9                	jne    0x433786
43378d:	2b f1                	sub    %ecx,%esi
43378f:	8b 4b 10             	mov    0x10(%ebx),%ecx
433792:	8b 41 38             	mov    0x38(%ecx),%eax
433795:	83 b8 90 00 00 00 00 	cmpl   $0x0,0x90(%eax)
43379c:	74 33                	je     0x4337d1
43379e:	ff 71 20             	push   0x20(%ecx)
4337a1:	b8 f5 05 00 00       	mov    $0x5f5,%eax
4337a6:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
4337ac:	68 d0 7e 40 00       	push   $0x407ed0
4337b1:	2b c6                	sub    %esi,%eax
4337b3:	03 fe                	add    %esi,%edi
4337b5:	50                   	push   %eax
4337b6:	57                   	push   %edi
4337b7:	e8 34 fe ff ff       	call   0x4335f0
4337bc:	83 c4 10             	add    $0x10,%esp
4337bf:	85 c0                	test   %eax,%eax
4337c1:	78 0e                	js     0x4337d1
4337c3:	8d 4f 01             	lea    0x1(%edi),%ecx
4337c6:	8a 07                	mov    (%edi),%al
4337c8:	47                   	inc    %edi
4337c9:	84 c0                	test   %al,%al
4337cb:	75 f9                	jne    0x4337c6
4337cd:	2b f9                	sub    %ecx,%edi
4337cf:	03 f7                	add    %edi,%esi
4337d1:	8b 43 10             	mov    0x10(%ebx),%eax
4337d4:	8b 40 38             	mov    0x38(%eax),%eax
4337d7:	83 b8 b4 00 00 00 00 	cmpl   $0x0,0xb4(%eax)
4337de:	74 68                	je     0x433848
4337e0:	0f b7 85 e6 f9 ff ff 	movzwl -0x61a(%ebp),%eax
4337e7:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
4337ed:	50                   	push   %eax
4337ee:	0f b7 85 e4 f9 ff ff 	movzwl -0x61c(%ebp),%eax
4337f5:	03 fe                	add    %esi,%edi
4337f7:	50                   	push   %eax
4337f8:	0f b7 85 e2 f9 ff ff 	movzwl -0x61e(%ebp),%eax
4337ff:	50                   	push   %eax
433800:	0f b7 85 e0 f9 ff ff 	movzwl -0x620(%ebp),%eax
433807:	50                   	push   %eax
433808:	0f b7 85 de f9 ff ff 	movzwl -0x622(%ebp),%eax
43380f:	50                   	push   %eax
433810:	0f b7 85 da f9 ff ff 	movzwl -0x626(%ebp),%eax
433817:	50                   	push   %eax
433818:	0f b7 85 d8 f9 ff ff 	movzwl -0x628(%ebp),%eax
43381f:	50                   	push   %eax
433820:	b8 f5 05 00 00       	mov    $0x5f5,%eax
433825:	68 a4 7e 40 00       	push   $0x407ea4
43382a:	2b c6                	sub    %esi,%eax
43382c:	50                   	push   %eax
43382d:	57                   	push   %edi
43382e:	e8 bd fd ff ff       	call   0x4335f0
433833:	83 c4 28             	add    $0x28,%esp
433836:	85 c0                	test   %eax,%eax
433838:	78 0e                	js     0x433848
43383a:	8d 4f 01             	lea    0x1(%edi),%ecx
43383d:	8a 07                	mov    (%edi),%al
43383f:	47                   	inc    %edi
433840:	84 c0                	test   %al,%al
433842:	75 f9                	jne    0x43383d
433844:	2b f9                	sub    %ecx,%edi
433846:	03 f7                	add    %edi,%esi
433848:	8b 43 10             	mov    0x10(%ebx),%eax
43384b:	8b 40 38             	mov    0x38(%eax),%eax
43384e:	83 b8 fc 00 00 00 00 	cmpl   $0x0,0xfc(%eax)
433855:	74 33                	je     0x43388a
433857:	ff 75 14             	push   0x14(%ebp)
43385a:	b8 f5 05 00 00       	mov    $0x5f5,%eax
43385f:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433865:	68 f0 7e 40 00       	push   $0x407ef0
43386a:	2b c6                	sub    %esi,%eax
43386c:	03 fe                	add    %esi,%edi
43386e:	50                   	push   %eax
43386f:	57                   	push   %edi
433870:	e8 7b fd ff ff       	call   0x4335f0
433875:	83 c4 10             	add    $0x10,%esp
433878:	85 c0                	test   %eax,%eax
43387a:	78 0e                	js     0x43388a
43387c:	8d 4f 01             	lea    0x1(%edi),%ecx
43387f:	8a 07                	mov    (%edi),%al
433881:	47                   	inc    %edi
433882:	84 c0                	test   %al,%al
433884:	75 f9                	jne    0x43387f
433886:	2b f9                	sub    %ecx,%edi
433888:	03 f7                	add    %edi,%esi
43388a:	8b 43 10             	mov    0x10(%ebx),%eax
43388d:	8b 40 38             	mov    0x38(%eax),%eax
433890:	83 b8 20 01 00 00 00 	cmpl   $0x0,0x120(%eax)
433897:	74 36                	je     0x4338cf
433899:	ff b5 d4 f9 ff ff    	push   -0x62c(%ebp)
43389f:	b8 f5 05 00 00       	mov    $0x5f5,%eax
4338a4:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
4338aa:	68 e0 7e 40 00       	push   $0x407ee0
4338af:	2b c6                	sub    %esi,%eax
4338b1:	03 fe                	add    %esi,%edi
4338b3:	50                   	push   %eax
4338b4:	57                   	push   %edi
4338b5:	e8 36 fd ff ff       	call   0x4335f0
4338ba:	83 c4 10             	add    $0x10,%esp
4338bd:	85 c0                	test   %eax,%eax
4338bf:	78 0e                	js     0x4338cf
4338c1:	8d 4f 01             	lea    0x1(%edi),%ecx
4338c4:	8a 07                	mov    (%edi),%al
4338c6:	47                   	inc    %edi
4338c7:	84 c0                	test   %al,%al
4338c9:	75 f9                	jne    0x4338c4
4338cb:	2b f9                	sub    %ecx,%edi
4338cd:	03 f7                	add    %edi,%esi
4338cf:	8b 43 10             	mov    0x10(%ebx),%eax
4338d2:	8b 40 38             	mov    0x38(%eax),%eax
4338d5:	83 b8 44 01 00 00 00 	cmpl   $0x0,0x144(%eax)
4338dc:	74 40                	je     0x43391e
4338de:	6b 8d d4 f9 ff ff 44 	imul   $0x44,-0x62c(%ebp),%ecx
4338e5:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
4338eb:	8b 43 0c             	mov    0xc(%ebx),%eax
4338ee:	03 fe                	add    %esi,%edi
4338f0:	83 c1 04             	add    $0x4,%ecx
4338f3:	03 c1                	add    %ecx,%eax
4338f5:	50                   	push   %eax
4338f6:	b8 f5 05 00 00       	mov    $0x5f5,%eax
4338fb:	68 08 7f 40 00       	push   $0x407f08
433900:	2b c6                	sub    %esi,%eax
433902:	50                   	push   %eax
433903:	57                   	push   %edi
433904:	e8 e7 fc ff ff       	call   0x4335f0
433909:	83 c4 10             	add    $0x10,%esp
43390c:	85 c0                	test   %eax,%eax
43390e:	78 0e                	js     0x43391e
433910:	8d 4f 01             	lea    0x1(%edi),%ecx
433913:	8a 07                	mov    (%edi),%al
433915:	47                   	inc    %edi
433916:	84 c0                	test   %al,%al
433918:	75 f9                	jne    0x433913
43391a:	2b f9                	sub    %ecx,%edi
43391c:	03 f7                	add    %edi,%esi
43391e:	8b 43 10             	mov    0x10(%ebx),%eax
433921:	8b 40 38             	mov    0x38(%eax),%eax
433924:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
43392b:	74 37                	je     0x433964
43392d:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433933:	03 fe                	add    %esi,%edi
433935:	ff 15 00 a2 43 00    	call   *0x43a200
43393b:	50                   	push   %eax
43393c:	b8 f5 05 00 00       	mov    $0x5f5,%eax
433941:	68 fc 7e 40 00       	push   $0x407efc
433946:	2b c6                	sub    %esi,%eax
433948:	50                   	push   %eax
433949:	57                   	push   %edi
43394a:	e8 a1 fc ff ff       	call   0x4335f0
43394f:	83 c4 10             	add    $0x10,%esp
433952:	85 c0                	test   %eax,%eax
433954:	78 0e                	js     0x433964
433956:	8d 4f 01             	lea    0x1(%edi),%ecx
433959:	8a 07                	mov    (%edi),%al
43395b:	47                   	inc    %edi
43395c:	84 c0                	test   %al,%al
43395e:	75 f9                	jne    0x433959
433960:	2b f9                	sub    %ecx,%edi
433962:	03 f7                	add    %edi,%esi
433964:	8b 43 10             	mov    0x10(%ebx),%eax
433967:	8b 40 38             	mov    0x38(%eax),%eax
43396a:	83 b8 d8 00 00 00 00 	cmpl   $0x0,0xd8(%eax)
433971:	74 37                	je     0x4339aa
433973:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433979:	03 fe                	add    %esi,%edi
43397b:	ff 15 f8 a1 43 00    	call   *0x43a1f8
433981:	50                   	push   %eax
433982:	b8 f5 05 00 00       	mov    $0x5f5,%eax
433987:	68 20 7f 40 00       	push   $0x407f20
43398c:	2b c6                	sub    %esi,%eax
43398e:	50                   	push   %eax
43398f:	57                   	push   %edi
433990:	e8 5b fc ff ff       	call   0x4335f0
433995:	83 c4 10             	add    $0x10,%esp
433998:	85 c0                	test   %eax,%eax
43399a:	78 0e                	js     0x4339aa
43399c:	8d 4f 01             	lea    0x1(%edi),%ecx
43399f:	8a 07                	mov    (%edi),%al
4339a1:	47                   	inc    %edi
4339a2:	84 c0                	test   %al,%al
4339a4:	75 f9                	jne    0x43399f
4339a6:	2b f9                	sub    %ecx,%edi
4339a8:	03 f7                	add    %edi,%esi
4339aa:	81 fe f5 05 00 00    	cmp    $0x5f5,%esi
4339b0:	73 30                	jae    0x4339e2
4339b2:	b8 f5 05 00 00       	mov    $0x5f5,%eax
4339b7:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
4339bd:	68 18 7f 40 00       	push   $0x407f18
4339c2:	2b c6                	sub    %esi,%eax
4339c4:	03 fe                	add    %esi,%edi
4339c6:	50                   	push   %eax
4339c7:	57                   	push   %edi
4339c8:	e8 23 fc ff ff       	call   0x4335f0
4339cd:	83 c4 0c             	add    $0xc,%esp
4339d0:	85 c0                	test   %eax,%eax
4339d2:	78 0e                	js     0x4339e2
4339d4:	8d 4f 01             	lea    0x1(%edi),%ecx
4339d7:	8a 07                	mov    (%edi),%al
4339d9:	47                   	inc    %edi
4339da:	84 c0                	test   %al,%al
4339dc:	75 f9                	jne    0x4339d7
4339de:	2b f9                	sub    %ecx,%edi
4339e0:	03 f7                	add    %edi,%esi
4339e2:	8b 43 10             	mov    0x10(%ebx),%eax
4339e5:	8b 40 38             	mov    0x38(%eax),%eax
4339e8:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
4339ec:	74 3e                	je     0x433a2c
4339ee:	8b 85 c8 f9 ff ff    	mov    -0x638(%ebp),%eax
4339f4:	85 c0                	test   %eax,%eax
4339f6:	74 34                	je     0x433a2c
4339f8:	ff 75 10             	push   0x10(%ebp)
4339fb:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433a01:	50                   	push   %eax
433a02:	b8 f5 05 00 00       	mov    $0x5f5,%eax
433a07:	03 fe                	add    %esi,%edi
433a09:	68 2c 7f 40 00       	push   $0x407f2c
433a0e:	2b c6                	sub    %esi,%eax
433a10:	50                   	push   %eax
433a11:	57                   	push   %edi
433a12:	e8 d9 fb ff ff       	call   0x4335f0
433a17:	83 c4 14             	add    $0x14,%esp
433a1a:	85 c0                	test   %eax,%eax
433a1c:	78 0e                	js     0x433a2c
433a1e:	8d 4f 01             	lea    0x1(%edi),%ecx
433a21:	8a 07                	mov    (%edi),%al
433a23:	47                   	inc    %edi
433a24:	84 c0                	test   %al,%al
433a26:	75 f9                	jne    0x433a21
433a28:	2b f9                	sub    %ecx,%edi
433a2a:	03 f7                	add    %edi,%esi
433a2c:	b8 f5 05 00 00       	mov    $0x5f5,%eax
433a31:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433a37:	68 48 7f 40 00       	push   $0x407f48
433a3c:	2b c6                	sub    %esi,%eax
433a3e:	03 fe                	add    %esi,%edi
433a40:	50                   	push   %eax
433a41:	57                   	push   %edi
433a42:	e8 a9 fb ff ff       	call   0x4335f0
433a47:	83 c4 0c             	add    $0xc,%esp
433a4a:	85 c0                	test   %eax,%eax
433a4c:	78 0e                	js     0x433a5c
433a4e:	8d 4f 01             	lea    0x1(%edi),%ecx
433a51:	8a 07                	mov    (%edi),%al
433a53:	47                   	inc    %edi
433a54:	84 c0                	test   %al,%al
433a56:	75 f9                	jne    0x433a51
433a58:	2b f9                	sub    %ecx,%edi
433a5a:	03 f7                	add    %edi,%esi
433a5c:	81 fe f5 05 00 00    	cmp    $0x5f5,%esi
433a62:	73 3a                	jae    0x433a9e
433a64:	ff b5 c4 f9 ff ff    	push   -0x63c(%ebp)
433a6a:	8d bd e8 f9 ff ff    	lea    -0x618(%ebp),%edi
433a70:	ba f5 05 00 00       	mov    $0x5f5,%edx
433a75:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)