4297f2:	8b 47 30             	mov    0x30(%edi),%eax
4297f5:	8b 77 2c             	mov    0x2c(%edi),%esi
4297f8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4297fb:	eb 0d                	jmp    0x42980a
4297fd:	ff 36                	push   (%esi)
4297ff:	ff 76 04             	push   0x4(%esi)
429802:	e8 24 22 ff ff       	call   0x41ba2b
429807:	83 c6 08             	add    $0x8,%esi
42980a:	8d 55 f8             	lea    -0x8(%ebp),%edx
42980d:	89 75 fc             	mov    %esi,-0x4(%ebp)
429810:	8d 4d fc             	lea    -0x4(%ebp),%ecx
429813:	e8 f3 1e ff ff       	call   0x41b70b
429818:	84 c0                	test   %al,%al
42981a:	75 e1                	jne    0x4297fd
42981c:	8b 47 2c             	mov    0x2c(%edi),%eax
42981f:	89 47 30             	mov    %eax,0x30(%edi)
429822:	8b 47 10             	mov    0x10(%edi),%eax
429825:	83 c0 01             	add    $0x1,%eax
429828:	75 01                	jne    0x42982b
42982a:	40                   	inc    %eax
42982b:	90                   	nop
42982c:	89 47 10             	mov    %eax,0x10(%edi)
42982f:	85 db                	test   %ebx,%ebx
429831:	74 16                	je     0x429849
429833:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
429838:	8d 55 f4             	lea    -0xc(%ebp),%edx
42983b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42983e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
429841:	89 45 f0             	mov    %eax,-0x10(%ebp)
429844:	e8 1b 1e ff ff       	call   0x41b664
429849:	5e                   	pop    %esi
42984a:	5b                   	pop    %ebx
42984b:	5f                   	pop    %edi
42984c:	c9                   	leave
42984d:	c3                   	ret
42984e:	80 39 00             	cmpb   $0x0,(%ecx)
429851:	74 0c                	je     0x42985f
429853:	8d 41 10             	lea    0x10(%ecx),%eax
429856:	83 c1 24             	add    $0x24,%ecx
429859:	50                   	push   %eax
42985a:	e8 86 fe ff ff       	call   0x4296e5
42985f:	c3                   	ret
429860:	8b ff                	mov    %edi,%edi
429862:	55                   	push   %ebp
429863:	8b ec                	mov    %esp,%ebp
429865:	51                   	push   %ecx
429866:	51                   	push   %ecx
429867:	56                   	push   %esi
429868:	8b f1                	mov    %ecx,%esi
42986a:	80 3e 00             	cmpb   $0x0,(%esi)
42986d:	74 31                	je     0x4298a0
42986f:	57                   	push   %edi
429870:	8d 7e 04             	lea    0x4(%esi),%edi
429873:	57                   	push   %edi
429874:	ff 15 88 a2 43 00    	call   *0x43a288
42987a:	8b ce                	mov    %esi,%ecx
42987c:	e8 83 08 ff ff       	call   0x41a104
429881:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
429885:	85 ff                	test   %edi,%edi
429887:	74 16                	je     0x42989f
429889:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42988e:	8d 55 fc             	lea    -0x4(%ebp),%edx
429891:	8d 4d f8             	lea    -0x8(%ebp),%ecx
429894:	89 7d fc             	mov    %edi,-0x4(%ebp)
429897:	89 45 f8             	mov    %eax,-0x8(%ebp)
42989a:	e8 c5 1d ff ff       	call   0x41b664
42989f:	5f                   	pop    %edi
4298a0:	5e                   	pop    %esi
4298a1:	c9                   	leave
4298a2:	c3                   	ret
4298a3:	8b ff                	mov    %edi,%edi
4298a5:	55                   	push   %ebp
4298a6:	8b ec                	mov    %esp,%ebp
4298a8:	51                   	push   %ecx
4298a9:	51                   	push   %ecx
4298aa:	56                   	push   %esi
4298ab:	8b f1                	mov    %ecx,%esi
4298ad:	80 3e 00             	cmpb   $0x0,(%esi)
4298b0:	74 31                	je     0x4298e3
4298b2:	57                   	push   %edi
4298b3:	8d 7e 10             	lea    0x10(%esi),%edi
4298b6:	57                   	push   %edi
4298b7:	ff 15 88 a2 43 00    	call   *0x43a288
4298bd:	c6 46 21 00          	movb   $0x0,0x21(%esi)
4298c1:	85 ff                	test   %edi,%edi
4298c3:	74 16                	je     0x4298db
4298c5:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
4298ca:	8d 55 fc             	lea    -0x4(%ebp),%edx
4298cd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4298d0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4298d3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4298d6:	e8 89 1d ff ff       	call   0x41b664
4298db:	8b ce                	mov    %esi,%ecx
4298dd:	e8 dd e5 ff ff       	call   0x427ebf
4298e2:	5f                   	pop    %edi
4298e3:	5e                   	pop    %esi
4298e4:	c9                   	leave
4298e5:	c3                   	ret
4298e6:	8b ff                	mov    %edi,%edi
4298e8:	55                   	push   %ebp
4298e9:	8b ec                	mov    %esp,%ebp
4298eb:	51                   	push   %ecx
4298ec:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4298f0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4298f3:	56                   	push   %esi
4298f4:	50                   	push   %eax
4298f5:	ff 75 10             	push   0x10(%ebp)
4298f8:	8b f1                	mov    %ecx,%esi
4298fa:	6a 00                	push   $0x0
4298fc:	ff 75 0c             	push   0xc(%ebp)
4298ff:	ff 75 08             	push   0x8(%ebp)
429902:	ff 15 44 a2 43 00    	call   *0x43a244
429908:	8b c8                	mov    %eax,%ecx
42990a:	85 c9                	test   %ecx,%ecx
42990c:	75 13                	jne    0x429921
42990e:	39 0e                	cmp    %ecx,(%esi)
429910:	74 0a                	je     0x42991c
429912:	ff 36                	push   (%esi)
429914:	ff 15 38 a2 43 00    	call   *0x43a238
42991a:	8b c8                	mov    %eax,%ecx
42991c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42991f:	89 06                	mov    %eax,(%esi)
429921:	8b c1                	mov    %ecx,%eax
429923:	5e                   	pop    %esi
429924:	c9                   	leave
429925:	c2 0c 00             	ret    $0xc
429928:	6a 54                	push   $0x54
42992a:	b8 46 f2 41 00       	mov    $0x41f246,%eax
42992f:	e8 0d 15 ff ff       	call   0x41ae41
429934:	8b d9                	mov    %ecx,%ebx
429936:	8b 7d 08             	mov    0x8(%ebp),%edi
429939:	8b 45 0c             	mov    0xc(%ebp),%eax
42993c:	89 45 a0             	mov    %eax,-0x60(%ebp)
42993f:	85 ff                	test   %edi,%edi
429941:	0f 84 23 01 00 00    	je     0x429a6a
429947:	85 c0                	test   %eax,%eax
429949:	0f 84 1b 01 00 00    	je     0x429a6a
42994f:	8b cf                	mov    %edi,%ecx
429951:	33 f6                	xor    %esi,%esi
429953:	89 30                	mov    %esi,(%eax)
429955:	8d 51 02             	lea    0x2(%ecx),%edx
429958:	66 8b 01             	mov    (%ecx),%ax
42995b:	83 c1 02             	add    $0x2,%ecx
42995e:	66 3b c6             	cmp    %si,%ax
429961:	75 f5                	jne    0x429958
429963:	2b ca                	sub    %edx,%ecx
429965:	d1 f9                	sar    $1,%ecx
429967:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
42996a:	50                   	push   %eax
42996b:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
42996e:	e8 dd b2 ff ff       	call   0x424c50
429973:	89 75 fc             	mov    %esi,-0x4(%ebp)
429976:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
42997a:	75 0a                	jne    0x429986
42997c:	be 0e 00 07 80       	mov    $0x8007000e,%esi
429981:	e9 d7 00 00 00       	jmp    0x429a5d
429986:	89 3b                	mov    %edi,(%ebx)
429988:	0f b7 07             	movzwl (%edi),%eax
42998b:	8b c8                	mov    %eax,%ecx
42998d:	66 85 c0             	test   %ax,%ax
429990:	0f 84 bc 00 00 00    	je     0x429a52
429996:	6a 25                	push   $0x25
429998:	58                   	pop    %eax
429999:	66 3b c8             	cmp    %ax,%cx
42999c:	0f 85 80 00 00 00    	jne    0x429a22
4299a2:	57                   	push   %edi
4299a3:	ff 15 70 a2 43 00    	call   *0x43a270
4299a9:	6a 25                	push   $0x25
4299ab:	5a                   	pop    %edx
4299ac:	89 03                	mov    %eax,(%ebx)
4299ae:	66 39 10             	cmp    %dx,(%eax)
4299b1:	75 05                	jne    0x4299b8
4299b3:	6a 01                	push   $0x1
4299b5:	50                   	push   %eax
4299b6:	eb 6d                	jmp    0x429a25
4299b8:	8b c8                	mov    %eax,%ecx
4299ba:	e8 88 34 00 00       	call   0x42ce47
4299bf:	8b f8                	mov    %eax,%edi
4299c1:	85 ff                	test   %edi,%edi
4299c3:	0f 84 82 00 00 00    	je     0x429a4b
4299c9:	8b cf                	mov    %edi,%ecx
4299cb:	2b 0b                	sub    (%ebx),%ecx
4299cd:	d1 f9                	sar    $1,%ecx
4299cf:	83 f9 1f             	cmp    $0x1f,%ecx
4299d2:	7f 70                	jg     0x429a44
4299d4:	51                   	push   %ecx
4299d5:	ff 33                	push   (%ebx)
4299d7:	8d 45 b0             	lea    -0x50(%ebp),%eax
4299da:	6a 20                	push   $0x20
4299dc:	50                   	push   %eax
4299dd:	ff 15 d4 a4 43 00    	call   *0x43a4d4
4299e3:	83 c4 10             	add    $0x10,%esp
4299e6:	8b c8                	mov    %eax,%ecx
4299e8:	e8 6d d7 ff ff       	call   0x42715a
4299ed:	8b 4b 04             	mov    0x4(%ebx),%ecx
4299f0:	8d 45 b0             	lea    -0x50(%ebp),%eax
4299f3:	50                   	push   %eax
4299f4:	e8 8a 34 00 00       	call   0x42ce83
4299f9:	85 c0                	test   %eax,%eax
4299fb:	74 4e                	je     0x429a4b
4299fd:	50                   	push   %eax
4299fe:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
429a01:	e8 e5 d0 ff ff       	call   0x426aeb
429a06:	85 c0                	test   %eax,%eax
429a08:	0f 84 6e ff ff ff    	je     0x42997c
429a0e:	39 3b                	cmp    %edi,(%ebx)
429a10:	74 23                	je     0x429a35
429a12:	ff 33                	push   (%ebx)
429a14:	ff 15 70 a2 43 00    	call   *0x43a270
429a1a:	89 03                	mov    %eax,(%ebx)
429a1c:	3b c7                	cmp    %edi,%eax
429a1e:	75 f2                	jne    0x429a12
429a20:	eb 13                	jmp    0x429a35
429a22:	6a 01                	push   $0x1
429a24:	57                   	push   %edi
429a25:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
429a28:	e8 12 d6 ff ff       	call   0x42703f
429a2d:	85 c0                	test   %eax,%eax
429a2f:	0f 84 47 ff ff ff    	je     0x42997c
429a35:	ff 33                	push   (%ebx)
429a37:	ff 15 70 a2 43 00    	call   *0x43a270
429a3d:	8b f8                	mov    %eax,%edi
429a3f:	e9 42 ff ff ff       	jmp    0x429986
429a44:	be 05 40 00 80       	mov    $0x80004005,%esi
429a49:	eb 12                	jmp    0x429a5d
429a4b:	be 09 00 02 80       	mov    $0x80020009,%esi
429a50:	eb 0b                	jmp    0x429a5d
429a52:	8b 45 a0             	mov    -0x60(%ebp),%eax
429a55:	8b 4d ac             	mov    -0x54(%ebp),%ecx
429a58:	89 75 ac             	mov    %esi,-0x54(%ebp)
429a5b:	89 08                	mov    %ecx,(%eax)
429a5d:	ff 75 ac             	push   -0x54(%ebp)
429a60:	ff 15 64 a0 43 00    	call   *0x43a064
429a66:	8b c6                	mov    %esi,%eax
429a68:	eb 05                	jmp    0x429a6f
429a6a:	b8 03 40 00 80       	mov    $0x80004003,%eax
429a6f:	e8 7c 13 ff ff       	call   0x41adf0
429a74:	c2 08 00             	ret    $0x8
429a77:	6a 1c                	push   $0x1c
429a79:	b8 73 f2 41 00       	mov    $0x41f273,%eax
429a7e:	e8 8b 13 ff ff       	call   0x41ae0e
429a83:	89 55 d8             	mov    %edx,-0x28(%ebp)
429a86:	33 db                	xor    %ebx,%ebx
429a88:	89 5d f0             	mov    %ebx,-0x10(%ebp)
429a8b:	8d 45 f0             	lea    -0x10(%ebp),%eax
429a8e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
429a91:	50                   	push   %eax
429a92:	68 d8 78 40 00       	push   $0x4078d8
429a97:	51                   	push   %ecx
429a98:	ff 15 04 d0 43 00    	call   *0x43d004
429a9e:	8b f0                	mov    %eax,%esi
429aa0:	85 f6                	test   %esi,%esi
429aa2:	0f 88 dd 00 00 00    	js     0x429b85
429aa8:	6a 04                	push   $0x4
429aaa:	8d 45 dc             	lea    -0x24(%ebp),%eax
429aad:	50                   	push   %eax
429aae:	ff 75 f0             	push   -0x10(%ebp)
429ab1:	ff 15 20 d0 43 00    	call   *0x43d020
429ab7:	8b f0                	mov    %eax,%esi
429ab9:	85 f6                	test   %esi,%esi
429abb:	0f 88 c4 00 00 00    	js     0x429b85
429ac1:	8d 45 ec             	lea    -0x14(%ebp),%eax
429ac4:	50                   	push   %eax
429ac5:	ff 75 f0             	push   -0x10(%ebp)
429ac8:	ff 15 1c a0 43 00    	call   *0x43a01c
429ace:	8b f0                	mov    %eax,%esi
429ad0:	85 f6                	test   %esi,%esi
429ad2:	0f 88 ad 00 00 00    	js     0x429b85
429ad8:	8b 7d ec             	mov    -0x14(%ebp),%edi
429adb:	8d 4f 02             	lea    0x2(%edi),%ecx
429ade:	66 8b 07             	mov    (%edi),%ax
429ae1:	83 c7 02             	add    $0x2,%edi
429ae4:	66 3b c3             	cmp    %bx,%ax
429ae7:	75 f5                	jne    0x429ade
429ae9:	2b f9                	sub    %ecx,%edi
429aeb:	d1 ff                	sar    $1,%edi
429aed:	81 fe 09 12 04 00    	cmp    $0x41209,%esi
429af3:	0f 84 83 00 00 00    	je     0x429b7c
429af9:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
429afc:	73 7e                	jae    0x429b7c
429afe:	6a 04                	push   $0x4
429b00:	8d 45 e4             	lea    -0x1c(%ebp),%eax
429b03:	50                   	push   %eax
429b04:	ff 75 f0             	push   -0x10(%ebp)
429b07:	ff 15 20 d0 43 00    	call   *0x43d020
429b0d:	8b f0                	mov    %eax,%esi
429b0f:	85 f6                	test   %esi,%esi
429b11:	78 60                	js     0x429b73
429b13:	6a 04                	push   $0x4
429b15:	8d 45 e8             	lea    -0x18(%ebp),%eax
429b18:	50                   	push   %eax
429b19:	ff 75 f0             	push   -0x10(%ebp)
429b1c:	ff 15 20 d0 43 00    	call   *0x43d020
429b22:	8b f0                	mov    %eax,%esi
429b24:	85 f6                	test   %esi,%esi
429b26:	78 4b                	js     0x429b73
429b28:	8b 45 e8             	mov    -0x18(%ebp),%eax
429b2b:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
429b2e:	76 3e                	jbe    0x429b6e
429b30:	3b c7                	cmp    %edi,%eax
429b32:	77 3a                	ja     0x429b6e
429b34:	8d 45 e0             	lea    -0x20(%ebp),%eax
429b37:	50                   	push   %eax
429b38:	ff 75 f0             	push   -0x10(%ebp)
429b3b:	ff 15 24 d0 43 00    	call   *0x43d024
429b41:	8b f0                	mov    %eax,%esi
429b43:	85 f6                	test   %esi,%esi
429b45:	78 2c                	js     0x429b73
429b47:	ff 75 0c             	push   0xc(%ebp)
429b4a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
429b4d:	ff 75 08             	push   0x8(%ebp)
429b50:	8b 4d ec             	mov    -0x14(%ebp),%ecx
429b53:	ff 75 d8             	push   -0x28(%ebp)
429b56:	ff 75 e0             	push   -0x20(%ebp)
429b59:	ff 75 e8             	push   -0x18(%ebp)
429b5c:	e8 cc de ff ff       	call   0x427a2d
429b61:	ff 75 e0             	push   -0x20(%ebp)
429b64:	8b f0                	mov    %eax,%esi
429b66:	ff 15 64 a0 43 00    	call   *0x43a064
429b6c:	eb 05                	jmp    0x429b73
429b6e:	be 57 00 07 80       	mov    $0x80070057,%esi
429b73:	43                   	inc    %ebx
429b74:	85 f6                	test   %esi,%esi
429b76:	0f 89 71 ff ff ff    	jns    0x429aed
429b7c:	ff 75 ec             	push   -0x14(%ebp)
429b7f:	ff 15 64 a0 43 00    	call   *0x43a064
429b85:	8d 4d f0             	lea    -0x10(%ebp),%ecx
429b88:	e8 bb 26 fe ff       	call   0x40c248
429b8d:	8b c6                	mov    %esi,%eax
429b8f:	e8 48 12 ff ff       	call   0x41addc
429b94:	c2 08 00             	ret    $0x8
429b97:	6a 6c                	push   $0x6c
429b99:	b8 96 f2 41 00       	mov    $0x41f296,%eax
429b9e:	e8 6b 12 ff ff       	call   0x41ae0e
429ba3:	8b f1                	mov    %ecx,%esi
429ba5:	8d 4d 88             	lea    -0x78(%ebp),%ecx
429ba8:	e8 a1 b2 ff ff       	call   0x424e4e
429bad:	8d 45 88             	lea    -0x78(%ebp),%eax
429bb0:	33 ff                	xor    %edi,%edi
429bb2:	50                   	push   %eax
429bb3:	8b ce                	mov    %esi,%ecx
429bb5:	89 7d fc             	mov    %edi,-0x4(%ebp)
429bb8:	e8 ed 24 00 00       	call   0x42c0aa
429bbd:	8d 4d 88             	lea    -0x78(%ebp),%ecx
429bc0:	e8 ba 07 00 00       	call   0x42a37f
429bc5:	39 7d ec             	cmp    %edi,-0x14(%ebp)
429bc8:	74 11                	je     0x429bdb
429bca:	ff 75 ec             	push   -0x14(%ebp)
429bcd:	57                   	push   %edi
429bce:	ff 15 24 a1 43 00    	call   *0x43a124